diff --git a/Sources/DOMKit/Generated.swift b/Sources/DOMKit/Generated.swift index 907d355b..7053e148 100644 --- a/Sources/DOMKit/Generated.swift +++ b/Sources/DOMKit/Generated.swift @@ -333,6 +333,89 @@ public class AddEventListenerOptions: BridgedDictionary { public var signal: AbortSignal } +public class AnalyserNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: AnalyserOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @inlinable public func getFloatFrequencyData(array: Float32Array) { + let this = jsObject + _ = this[Strings.getFloatFrequencyData].function!(this: this, arguments: [array.jsValue]) + } + + @inlinable public func getByteFrequencyData(array: Uint8Array) { + let this = jsObject + _ = this[Strings.getByteFrequencyData].function!(this: this, arguments: [array.jsValue]) + } + + @inlinable public func getFloatTimeDomainData(array: Float32Array) { + let this = jsObject + _ = this[Strings.getFloatTimeDomainData].function!(this: this, arguments: [array.jsValue]) + } + + @inlinable public func getByteTimeDomainData(array: Uint8Array) { + let this = jsObject + _ = this[Strings.getByteTimeDomainData].function!(this: this, arguments: [array.jsValue]) + } + + @ReadWriteAttribute + public var fftSize: UInt32 + + @ReadonlyAttribute + public var frequencyBinCount: UInt32 + + @ReadWriteAttribute + public var minDecibels: Double + + @ReadWriteAttribute + public var maxDecibels: Double + + @ReadWriteAttribute + public var smoothingTimeConstant: Double +} + +public class AnalyserOptions: BridgedDictionary { + public convenience init(fftSize: UInt32, maxDecibels: Double, minDecibels: Double, smoothingTimeConstant: Double) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.fftSize] = fftSize.jsValue + object[Strings.maxDecibels] = maxDecibels.jsValue + object[Strings.minDecibels] = minDecibels.jsValue + object[Strings.smoothingTimeConstant] = smoothingTimeConstant.jsValue + 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) + } + + @ReadWriteAttribute + public var fftSize: UInt32 + + @ReadWriteAttribute + public var maxDecibels: Double + + @ReadWriteAttribute + public var minDecibels: Double + + @ReadWriteAttribute + public var smoothingTimeConstant: Double +} + public protocol Animatable: JSBridgedClass {} public extension Animatable { @inlinable func animate(keyframes: JSObject?, options: Double_or_KeyframeAnimationOptions? = nil) -> Animation { @@ -590,608 +673,1594 @@ public class Attr: Node { public var specified: Bool } -public class AudioTrack: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.AudioTrack].function! } +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) { - _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) + _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 } - @ReadonlyAttribute - public var id: String + @inlinable public convenience init(options: AudioBufferOptions) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [options.jsValue])) + } @ReadonlyAttribute - public var kind: String + public var sampleRate: Float @ReadonlyAttribute - public var label: String + public var length: UInt32 @ReadonlyAttribute - public var language: String - - @ReadWriteAttribute - public var enabled: Bool -} - -public class AudioTrackList: EventTarget { - @inlinable override public 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 var duration: Double @ReadonlyAttribute - public var length: UInt32 + public var numberOfChannels: UInt32 - @inlinable public subscript(key: Int) -> AudioTrack { - jsObject[key].fromJSValue()! + @inlinable public func getChannelData(channel: UInt32) -> Float32Array { + let this = jsObject + return this[Strings.getChannelData].function!(this: this, arguments: [channel.jsValue]).fromJSValue()! } - @inlinable public func getTrackById(id: String) -> AudioTrack? { + @inlinable public func copyFromChannel(destination: Float32Array, channelNumber: UInt32, bufferOffset: UInt32? = nil) { let this = jsObject - return this[Strings.getTrackById].function!(this: this, arguments: [id.jsValue]).fromJSValue()! + _ = this[Strings.copyFromChannel].function!(this: this, arguments: [destination.jsValue, channelNumber.jsValue, bufferOffset?.jsValue ?? .undefined]) } - @ClosureAttribute1Optional - public var onchange: EventHandler - - @ClosureAttribute1Optional - public var onaddtrack: EventHandler - - @ClosureAttribute1Optional - public var onremovetrack: EventHandler -} - -public class BarProp: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.BarProp].function! } - - public let jsObject: JSObject - - public required init(unsafelyWrapping jsObject: JSObject) { - _visible = ReadonlyAttribute(jsObject: jsObject, name: Strings.visible) - self.jsObject = jsObject + @inlinable public func copyToChannel(source: Float32Array, channelNumber: UInt32, bufferOffset: UInt32? = nil) { + let this = jsObject + _ = this[Strings.copyToChannel].function!(this: this, arguments: [source.jsValue, channelNumber.jsValue, bufferOffset?.jsValue ?? .undefined]) } - - @ReadonlyAttribute - public var visible: Bool } -public class BaseComputedKeyframe: BridgedDictionary { - public convenience init(offset: Double?, computedOffset: Double, easing: String, composite: CompositeOperationOrAuto) { +public class AudioBufferOptions: BridgedDictionary { + public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.offset] = offset.jsValue - object[Strings.computedOffset] = computedOffset.jsValue - object[Strings.easing] = easing.jsValue - object[Strings.composite] = composite.jsValue + object[Strings.numberOfChannels] = numberOfChannels.jsValue + object[Strings.length] = length.jsValue + object[Strings.sampleRate] = sampleRate.jsValue 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) + _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) } @ReadWriteAttribute - public var offset: Double? - - @ReadWriteAttribute - public var computedOffset: Double + public var numberOfChannels: UInt32 @ReadWriteAttribute - public var easing: String + public var length: UInt32 @ReadWriteAttribute - public var composite: CompositeOperationOrAuto + public var sampleRate: Float } -public class BaseKeyframe: BridgedDictionary { - public convenience init(offset: Double?, easing: String, composite: CompositeOperationOrAuto) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.offset] = offset.jsValue - object[Strings.easing] = easing.jsValue - object[Strings.composite] = composite.jsValue - self.init(unsafelyWrapping: object) +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) } - 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) + @inlinable public convenience init(context: BaseAudioContext, options: AudioBufferSourceOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) } @ReadWriteAttribute - public var offset: Double? + public var buffer: AudioBuffer? + + @ReadonlyAttribute + public var playbackRate: AudioParam + + @ReadonlyAttribute + public var detune: AudioParam @ReadWriteAttribute - public var easing: String + public var loop: Bool @ReadWriteAttribute - public var composite: CompositeOperationOrAuto + public var loopStart: Double + + @ReadWriteAttribute + public var loopEnd: Double + + // XXX: member 'start' is ignored } -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 class AudioBufferSourceOptions: BridgedDictionary { + public convenience init(buffer: AudioBuffer?, detune: Float, loop: Bool, loopEnd: Double, loopStart: Double, playbackRate: Float) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.offset] = offset.jsValue - object[Strings.easing] = easing.jsValue - object[Strings.composite] = composite.jsValue + object[Strings.buffer] = buffer.jsValue + object[Strings.detune] = detune.jsValue + object[Strings.loop] = loop.jsValue + object[Strings.loopEnd] = loopEnd.jsValue + object[Strings.loopStart] = loopStart.jsValue + object[Strings.playbackRate] = playbackRate.jsValue 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) + _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) } @ReadWriteAttribute - public var offset: nullable_Double_or_seq_of_nullable_Double + public var buffer: AudioBuffer? @ReadWriteAttribute - public var easing: String_or_seq_of_String + public var detune: Float @ReadWriteAttribute - public var composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto -} + public var loop: Bool -public class BeforeUnloadEvent: Event { - @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.BeforeUnloadEvent].function! } + @ReadWriteAttribute + public var loopEnd: Double - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } + @ReadWriteAttribute + public var loopStart: Double - // XXX: member 'returnValue' is ignored + @ReadWriteAttribute + public var playbackRate: Float } -public class Blob: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.Blob].function! } - - public let jsObject: JSObject +public class AudioContext: BaseAudioContext { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.AudioContext].function! } public required init(unsafelyWrapping jsObject: JSObject) { - _size = ReadonlyAttribute(jsObject: jsObject, name: Strings.size) - _type = ReadonlyAttribute(jsObject: jsObject, name: Strings.type) - self.jsObject = jsObject + _baseLatency = ReadonlyAttribute(jsObject: jsObject, name: Strings.baseLatency) + _outputLatency = ReadonlyAttribute(jsObject: jsObject, name: Strings.outputLatency) + super.init(unsafelyWrapping: jsObject) } - @inlinable public convenience init(blobParts: [BlobPart]? = nil, options: BlobPropertyBag? = nil) { - self.init(unsafelyWrapping: Self.constructor.new(arguments: [blobParts?.jsValue ?? .undefined, options?.jsValue ?? .undefined])) + @inlinable public convenience init(contextOptions: AudioContextOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [contextOptions?.jsValue ?? .undefined])) } @ReadonlyAttribute - public var size: UInt64 + public var baseLatency: Double @ReadonlyAttribute - public var type: String + public var outputLatency: Double - @inlinable public func slice(start: Int64? = nil, end: Int64? = nil, contentType: String? = nil) -> Self { + @inlinable public func getOutputTimestamp() -> AudioTimestamp { let this = jsObject - return this[Strings.slice].function!(this: this, arguments: [start?.jsValue ?? .undefined, end?.jsValue ?? .undefined, contentType?.jsValue ?? .undefined]).fromJSValue()! + return this[Strings.getOutputTimestamp].function!(this: this, arguments: []).fromJSValue()! } - // XXX: member 'stream' is ignored - - @inlinable public func text() -> JSPromise { + @inlinable public func resume() -> JSPromise { let this = jsObject - return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + 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 text() async throws -> String { + @inlinable public func resume() async throws { let this = jsObject - let _promise: JSPromise = this[Strings.text].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + let _promise: JSPromise = this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value } - @inlinable public func arrayBuffer() -> JSPromise { + @inlinable public func suspend() -> JSPromise { let this = jsObject - return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + 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 arrayBuffer() async throws -> ArrayBuffer { + @inlinable public func suspend() async throws { let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! - } -} - -public class BlobPropertyBag: BridgedDictionary { - public convenience init(type: String, endings: EndingType) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.type] = type.jsValue - object[Strings.endings] = endings.jsValue - 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) + let _promise: JSPromise = this[Strings.suspend].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value } - @ReadWriteAttribute - public var type: String - - @ReadWriteAttribute - public var endings: EndingType -} - -public protocol Body: JSBridgedClass {} -public extension Body { - // XXX: attribute 'body' is ignored - - @inlinable var bodyUsed: Bool { ReadonlyAttribute[Strings.bodyUsed, in: jsObject] } - - @inlinable func arrayBuffer() -> JSPromise { + @inlinable public func close() -> JSPromise { let this = jsObject - return this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! + return this[Strings.close].function!(this: this, arguments: []).fromJSValue()! } @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func arrayBuffer() async throws -> ArrayBuffer { + @inlinable public func close() async throws { let this = jsObject - let _promise: JSPromise = this[Strings.arrayBuffer].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + let _promise: JSPromise = this[Strings.close].function!(this: this, arguments: []).fromJSValue()! + _ = try await _promise.value } - @inlinable func blob() -> JSPromise { + @inlinable public func createMediaElementSource(mediaElement: HTMLMediaElement) -> MediaElementAudioSourceNode { let this = jsObject - return this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! + return this[Strings.createMediaElementSource].function!(this: this, arguments: [mediaElement.jsValue]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func blob() async throws -> Blob { + @inlinable public func createMediaStreamSource(mediaStream: MediaStream) -> MediaStreamAudioSourceNode { let this = jsObject - let _promise: JSPromise = this[Strings.blob].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.createMediaStreamSource].function!(this: this, arguments: [mediaStream.jsValue]).fromJSValue()! } - @inlinable func formData() -> JSPromise { + @inlinable public func createMediaStreamTrackSource(mediaStreamTrack: MediaStreamTrack) -> MediaStreamTrackAudioSourceNode { let this = jsObject - return this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! + return this[Strings.createMediaStreamTrackSource].function!(this: this, arguments: [mediaStreamTrack.jsValue]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable func formData() async throws -> FormData { + @inlinable public func createMediaStreamDestination() -> MediaStreamAudioDestinationNode { let this = jsObject - let _promise: JSPromise = this[Strings.formData].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.createMediaStreamDestination].function!(this: this, arguments: []).fromJSValue()! } +} - @inlinable func json() -> JSPromise { - let this = jsObject - return this[Strings.json].function!(this: this, arguments: []).fromJSValue()! +public enum AudioContextLatencyCategory: JSString, JSValueCompatible { + case balanced = "balanced" + case interactive = "interactive" + case playback = "playback" + + @inlinable public static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { + return Self(rawValue: string) + } + return nil } - @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 init?(string: String) { + self.init(rawValue: JSString(string)) } - @inlinable func text() -> JSPromise { - let this = jsObject - return this[Strings.text].function!(this: this, arguments: []).fromJSValue()! + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} + +public class AudioContextOptions: BridgedDictionary { + public convenience init(latencyHint: AudioContextLatencyCategory_or_Double, sampleRate: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.latencyHint] = latencyHint.jsValue + object[Strings.sampleRate] = sampleRate.jsValue + self.init(unsafelyWrapping: object) } - @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()! + public required init(unsafelyWrapping object: JSObject) { + _latencyHint = ReadWriteAttribute(jsObject: object, name: Strings.latencyHint) + _sampleRate = ReadWriteAttribute(jsObject: object, name: Strings.sampleRate) + super.init(unsafelyWrapping: object) } + + @ReadWriteAttribute + public var latencyHint: AudioContextLatencyCategory_or_Double + + @ReadWriteAttribute + public var sampleRate: Float } -public class BroadcastChannel: EventTarget { - @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.BroadcastChannel].function! } +public enum AudioContextState: JSString, JSValueCompatible { + case suspended = "suspended" + case running = "running" + case closed = "closed" - 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 static func construct(from jsValue: JSValue) -> Self? { + if let string = jsValue.jsString { + return Self(rawValue: string) + } + return nil } - @inlinable public convenience init(name: String) { - self.init(unsafelyWrapping: Self.constructor.new(arguments: [name.jsValue])) + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) } - @ReadonlyAttribute - public var name: String + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} - @inlinable public func postMessage(message: JSValue) { - let this = jsObject - _ = this[Strings.postMessage].function!(this: this, arguments: [message.jsValue]) - } +public class AudioDestinationNode: AudioNode { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.AudioDestinationNode].function! } - @inlinable public func close() { - let this = jsObject - _ = this[Strings.close].function!(this: this, arguments: []) + public required init(unsafelyWrapping jsObject: JSObject) { + _maxChannelCount = ReadonlyAttribute(jsObject: jsObject, name: Strings.maxChannelCount) + super.init(unsafelyWrapping: jsObject) } - @ClosureAttribute1Optional - public var onmessage: EventHandler - - @ClosureAttribute1Optional - public var onmessageerror: EventHandler + @ReadonlyAttribute + public var maxChannelCount: UInt32 } -public class ByteLengthQueuingStrategy: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.ByteLengthQueuingStrategy].function! } +public class AudioListener: JSBridgedClass { + @inlinable public class var constructor: JSFunction { JSObject.global[Strings.AudioListener].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) + _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 } - @inlinable public convenience init(init: QueuingStrategyInit) { - self.init(unsafelyWrapping: Self.constructor.new(arguments: [`init`.jsValue])) - } + @ReadonlyAttribute + public var positionX: AudioParam @ReadonlyAttribute - public var highWaterMark: Double + public var positionY: AudioParam @ReadonlyAttribute - public var size: JSFunction -} + public var positionZ: AudioParam -public class CDATASection: Text { - @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.CDATASection].function! } + @ReadonlyAttribute + public var forwardX: AudioParam - public required init(unsafelyWrapping jsObject: JSObject) { - super.init(unsafelyWrapping: jsObject) - } -} + @ReadonlyAttribute + public var forwardY: AudioParam -public class Cache: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.Cache].function! } + @ReadonlyAttribute + public var forwardZ: AudioParam - public let jsObject: JSObject + @ReadonlyAttribute + public var upX: AudioParam - public required init(unsafelyWrapping jsObject: JSObject) { - self.jsObject = jsObject - } + @ReadonlyAttribute + public var upY: AudioParam - @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { - let this = jsObject - return this[Strings.match].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! - } + @ReadonlyAttribute + public var upZ: AudioParam - @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? { + @inlinable public func setPosition(x: Float, y: Float, z: Float) { let this = jsObject - let _promise: JSPromise = this[Strings.match].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! - return try await _promise.value.fromJSValue()! + _ = this[Strings.setPosition].function!(this: this, arguments: [x.jsValue, y.jsValue, z.jsValue]) } - @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func setOrientation(x: Float, y: Float, z: Float, xUp: Float, yUp: Float, zUp: Float) { + let _arg0 = x.jsValue + let _arg1 = y.jsValue + let _arg2 = z.jsValue + let _arg3 = xUp.jsValue + let _arg4 = yUp.jsValue + let _arg5 = zUp.jsValue let this = jsObject - return this[Strings.matchAll].function!(this: this, arguments: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! + _ = this[Strings.setOrientation].function!(this: this, arguments: [_arg0, _arg1, _arg2, _arg3, _arg4, _arg5]) } +} - @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: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } +public class AudioNode: EventTarget { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.AudioNode].function! } - @inlinable public func add(request: RequestInfo) -> JSPromise { - let this = jsObject - return this[Strings.add].function!(this: this, arguments: [request.jsValue]).fromJSValue()! + 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) } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func add(request: RequestInfo) async throws { + @inlinable public func connect(destinationNode: AudioNode, output: UInt32? = nil, input: UInt32? = nil) -> Self { let this = jsObject - let _promise: JSPromise = this[Strings.add].function!(this: this, arguments: [request.jsValue]).fromJSValue()! - _ = try await _promise.value + return this[Strings.connect].function!(this: this, arguments: [destinationNode.jsValue, output?.jsValue ?? .undefined, input?.jsValue ?? .undefined]).fromJSValue()! } - @inlinable public func addAll(requests: [RequestInfo]) -> JSPromise { + @inlinable public func connect(destinationParam: AudioParam, output: UInt32? = nil) { let this = jsObject - return this[Strings.addAll].function!(this: this, arguments: [requests.jsValue]).fromJSValue()! + _ = this[Strings.connect].function!(this: this, arguments: [destinationParam.jsValue, output?.jsValue ?? .undefined]) } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func addAll(requests: [RequestInfo]) async throws { + @inlinable public func disconnect() { let this = jsObject - let _promise: JSPromise = this[Strings.addAll].function!(this: this, arguments: [requests.jsValue]).fromJSValue()! - _ = try await _promise.value + _ = this[Strings.disconnect].function!(this: this, arguments: []) } - @inlinable public func put(request: RequestInfo, response: Response) -> JSPromise { + @inlinable public func disconnect(output: UInt32) { let this = jsObject - return this[Strings.put].function!(this: this, arguments: [request.jsValue, response.jsValue]).fromJSValue()! + _ = this[Strings.disconnect].function!(this: this, arguments: [output.jsValue]) } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func put(request: RequestInfo, response: Response) async throws { + @inlinable public func disconnect(destinationNode: AudioNode) { let this = jsObject - let _promise: JSPromise = this[Strings.put].function!(this: this, arguments: [request.jsValue, response.jsValue]).fromJSValue()! - _ = try await _promise.value + _ = this[Strings.disconnect].function!(this: this, arguments: [destinationNode.jsValue]) } - @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func disconnect(destinationNode: AudioNode, output: UInt32) { let this = jsObject - return this[Strings.delete].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! + _ = this[Strings.disconnect].function!(this: this, arguments: [destinationNode.jsValue, output.jsValue]) } - @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 { + @inlinable public func disconnect(destinationNode: AudioNode, output: UInt32, input: UInt32) { let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! - return try await _promise.value.fromJSValue()! + _ = this[Strings.disconnect].function!(this: this, arguments: [destinationNode.jsValue, output.jsValue, input.jsValue]) } - @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + @inlinable public func disconnect(destinationParam: AudioParam) { let this = jsObject - return this[Strings.keys].function!(this: this, arguments: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! + _ = this[Strings.disconnect].function!(this: this, arguments: [destinationParam.jsValue]) } - @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] { + @inlinable public func disconnect(destinationParam: AudioParam, output: UInt32) { let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! - return try await _promise.value.fromJSValue()! + _ = this[Strings.disconnect].function!(this: this, arguments: [destinationParam.jsValue, output.jsValue]) } + + @ReadonlyAttribute + public var context: BaseAudioContext + + @ReadonlyAttribute + public var numberOfInputs: UInt32 + + @ReadonlyAttribute + public var numberOfOutputs: UInt32 + + @ReadWriteAttribute + public var channelCount: UInt32 + + @ReadWriteAttribute + public var channelCountMode: ChannelCountMode + + @ReadWriteAttribute + public var channelInterpretation: ChannelInterpretation } -public class CacheQueryOptions: BridgedDictionary { - public convenience init(ignoreSearch: Bool, ignoreMethod: Bool, ignoreVary: Bool) { +public class AudioNodeOptions: BridgedDictionary { + public convenience init(channelCount: UInt32, channelCountMode: ChannelCountMode, channelInterpretation: ChannelInterpretation) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.ignoreSearch] = ignoreSearch.jsValue - object[Strings.ignoreMethod] = ignoreMethod.jsValue - object[Strings.ignoreVary] = ignoreVary.jsValue + object[Strings.channelCount] = channelCount.jsValue + object[Strings.channelCountMode] = channelCountMode.jsValue + object[Strings.channelInterpretation] = channelInterpretation.jsValue 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) + _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) } @ReadWriteAttribute - public var ignoreSearch: Bool + public var channelCount: UInt32 @ReadWriteAttribute - public var ignoreMethod: Bool + public var channelCountMode: ChannelCountMode @ReadWriteAttribute - public var ignoreVary: Bool + public var channelInterpretation: ChannelInterpretation } -public class CacheStorage: JSBridgedClass { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.CacheStorage].function! } +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 } - @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { - let this = jsObject - return this[Strings.match].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! - } + @ReadWriteAttribute + public var value: Float - @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: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! - return try await _promise.value.fromJSValue()! - } + @ReadWriteAttribute + public var automationRate: AutomationRate - @inlinable public func has(cacheName: String) -> JSPromise { - let this = jsObject - return this[Strings.has].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! - } + @ReadonlyAttribute + public var defaultValue: Float - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func has(cacheName: String) async throws -> Bool { + @ReadonlyAttribute + public var minValue: Float + + @ReadonlyAttribute + public var maxValue: Float + + @inlinable public func setValueAtTime(value: Float, startTime: Double) -> Self { let this = jsObject - let _promise: JSPromise = this[Strings.has].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.setValueAtTime].function!(this: this, arguments: [value.jsValue, startTime.jsValue]).fromJSValue()! } - @inlinable public func open(cacheName: String) -> JSPromise { + @inlinable public func linearRampToValueAtTime(value: Float, endTime: Double) -> Self { let this = jsObject - return this[Strings.open].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! + return this[Strings.linearRampToValueAtTime].function!(this: this, arguments: [value.jsValue, endTime.jsValue]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func open(cacheName: String) async throws -> Cache { + @inlinable public func exponentialRampToValueAtTime(value: Float, endTime: Double) -> Self { let this = jsObject - let _promise: JSPromise = this[Strings.open].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.exponentialRampToValueAtTime].function!(this: this, arguments: [value.jsValue, endTime.jsValue]).fromJSValue()! } - @inlinable public func delete(cacheName: String) -> JSPromise { + @inlinable public func setTargetAtTime(target: Float, startTime: Double, timeConstant: Float) -> Self { let this = jsObject - return this[Strings.delete].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! + return this[Strings.setTargetAtTime].function!(this: this, arguments: [target.jsValue, startTime.jsValue, timeConstant.jsValue]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func delete(cacheName: String) async throws -> Bool { + @inlinable public func setValueCurveAtTime(values: [Float], startTime: Double, duration: Double) -> Self { let this = jsObject - let _promise: JSPromise = this[Strings.delete].function!(this: this, arguments: [cacheName.jsValue]).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.setValueCurveAtTime].function!(this: this, arguments: [values.jsValue, startTime.jsValue, duration.jsValue]).fromJSValue()! } - @inlinable public func keys() -> JSPromise { + @inlinable public func cancelScheduledValues(cancelTime: Double) -> Self { let this = jsObject - return this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! + return this[Strings.cancelScheduledValues].function!(this: this, arguments: [cancelTime.jsValue]).fromJSValue()! } - @available(macOS 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *) - @inlinable public func keys() async throws -> [String] { + @inlinable public func cancelAndHoldAtTime(cancelTime: Double) -> Self { let this = jsObject - let _promise: JSPromise = this[Strings.keys].function!(this: this, arguments: []).fromJSValue()! - return try await _promise.value.fromJSValue()! + return this[Strings.cancelAndHoldAtTime].function!(this: this, arguments: [cancelTime.jsValue]).fromJSValue()! } } -public class CameraDevicePermissionDescriptor: BridgedDictionary { - public convenience init(panTiltZoom: Bool) { +public class AudioParamDescriptor: BridgedDictionary { + public convenience init(name: String, defaultValue: Float, minValue: Float, maxValue: Float, automationRate: AutomationRate) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.panTiltZoom] = panTiltZoom.jsValue + object[Strings.name] = name.jsValue + object[Strings.defaultValue] = defaultValue.jsValue + object[Strings.minValue] = minValue.jsValue + object[Strings.maxValue] = maxValue.jsValue + object[Strings.automationRate] = automationRate.jsValue self.init(unsafelyWrapping: object) } public required init(unsafelyWrapping object: JSObject) { - _panTiltZoom = ReadWriteAttribute(jsObject: object, name: Strings.panTiltZoom) + _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) } @ReadWriteAttribute - public var panTiltZoom: Bool -} + public var name: String -public enum CanPlayTypeResult: JSString, JSValueCompatible { - case _empty = "" - case maybe = "maybe" - case probably = "probably" + @ReadWriteAttribute + public var defaultValue: Float - @inlinable public static func construct(from jsValue: JSValue) -> Self? { - if let string = jsValue.jsString { - return Self(rawValue: string) - } - return nil - } + @ReadWriteAttribute + public var minValue: Float - @inlinable public init?(string: String) { - self.init(rawValue: JSString(string)) - } + @ReadWriteAttribute + public var maxValue: Float - @inlinable public var jsValue: JSValue { rawValue.jsValue } + @ReadWriteAttribute + public var automationRate: AutomationRate } -public protocol CanvasCompositing: JSBridgedClass {} -public extension CanvasCompositing { +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 + } + + // 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 convenience init(type: String, eventInitDict: AudioProcessingEventInit) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue])) + } + + @ReadonlyAttribute + public var playbackTime: Double + + @ReadonlyAttribute + public var inputBuffer: AudioBuffer + + @ReadonlyAttribute + public var outputBuffer: AudioBuffer +} + +public class AudioProcessingEventInit: BridgedDictionary { + public convenience init(playbackTime: Double, inputBuffer: AudioBuffer, outputBuffer: AudioBuffer) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.playbackTime] = playbackTime.jsValue + object[Strings.inputBuffer] = inputBuffer.jsValue + object[Strings.outputBuffer] = outputBuffer.jsValue + 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) + } + + @ReadWriteAttribute + public var playbackTime: Double + + @ReadWriteAttribute + public var inputBuffer: AudioBuffer + + @ReadWriteAttribute + public var outputBuffer: AudioBuffer +} + +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) + } + + @ClosureAttribute1Optional + public var onended: EventHandler + + @inlinable public func start(when: Double? = nil) { + let this = jsObject + _ = this[Strings.start].function!(this: this, arguments: [when?.jsValue ?? .undefined]) + } + + @inlinable public func stop(when: Double? = nil) { + let this = jsObject + _ = this[Strings.stop].function!(this: this, arguments: [when?.jsValue ?? .undefined]) + } +} + +public class AudioTimestamp: BridgedDictionary { + public convenience init(contextTime: Double, performanceTime: DOMHighResTimeStamp) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.contextTime] = contextTime.jsValue + object[Strings.performanceTime] = performanceTime.jsValue + 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) + } + + @ReadWriteAttribute + public var contextTime: Double + + @ReadWriteAttribute + public var performanceTime: DOMHighResTimeStamp +} + +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) + self.jsObject = jsObject + } + + @ReadonlyAttribute + public var id: String + + @ReadonlyAttribute + public var kind: String + + @ReadonlyAttribute + public var label: String + + @ReadonlyAttribute + public var language: String + + @ReadWriteAttribute + public var enabled: Bool +} + +public class AudioTrackList: EventTarget { + @inlinable override public 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) + } + + @ReadonlyAttribute + public var length: UInt32 + + @inlinable public subscript(key: Int) -> AudioTrack { + jsObject[key].fromJSValue()! + } + + @inlinable public func getTrackById(id: String) -> AudioTrack? { + let this = jsObject + return this[Strings.getTrackById].function!(this: this, arguments: [id.jsValue]).fromJSValue()! + } + + @ClosureAttribute1Optional + public var onchange: EventHandler + + @ClosureAttribute1Optional + public var onaddtrack: EventHandler + + @ClosureAttribute1Optional + public var onremovetrack: EventHandler +} + +public class AudioWorklet: Worklet { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.AudioWorklet].function! } + + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } +} + +public class AudioWorkletNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, name: String, options: AudioWorkletNodeOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, name.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var parameters: AudioParamMap + + @ReadonlyAttribute + public var port: MessagePort + + @ClosureAttribute1Optional + public var onprocessorerror: EventHandler +} + +public class AudioWorkletNodeOptions: BridgedDictionary { + public convenience init(numberOfInputs: UInt32, numberOfOutputs: UInt32, outputChannelCount: [UInt32], parameterData: [String: Double], processorOptions: JSObject) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.numberOfInputs] = numberOfInputs.jsValue + object[Strings.numberOfOutputs] = numberOfOutputs.jsValue + object[Strings.outputChannelCount] = outputChannelCount.jsValue + object[Strings.parameterData] = parameterData.jsValue + object[Strings.processorOptions] = processorOptions.jsValue + 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) + } + + @ReadWriteAttribute + public var numberOfInputs: UInt32 + + @ReadWriteAttribute + public var numberOfOutputs: UInt32 + + @ReadWriteAttribute + public var outputChannelCount: [UInt32] + + @ReadWriteAttribute + public var parameterData: [String: Double] + + @ReadWriteAttribute + public var processorOptions: JSObject +} + +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) + } + return nil + } + + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} + +public class BarProp: JSBridgedClass { + @inlinable public class var constructor: JSFunction { JSObject.global[Strings.BarProp].function! } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { + _visible = ReadonlyAttribute(jsObject: jsObject, name: Strings.visible) + self.jsObject = jsObject + } + + @ReadonlyAttribute + public var visible: Bool +} + +public class BaseAudioContext: EventTarget { + @inlinable override public 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) + } + + @ReadonlyAttribute + public var destination: AudioDestinationNode + + @ReadonlyAttribute + public var sampleRate: Float + + @ReadonlyAttribute + public var currentTime: Double + + @ReadonlyAttribute + public var listener: AudioListener + + @ReadonlyAttribute + public var state: AudioContextState + + @ReadonlyAttribute + public var audioWorklet: AudioWorklet + + @ClosureAttribute1Optional + public var onstatechange: EventHandler + + @inlinable public func createAnalyser() -> AnalyserNode { + let this = jsObject + return this[Strings.createAnalyser].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable 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 { + let this = jsObject + return this[Strings.createBuffer].function!(this: this, arguments: [numberOfChannels.jsValue, length.jsValue, sampleRate.jsValue]).fromJSValue()! + } + + @inlinable public func createBufferSource() -> AudioBufferSourceNode { + let this = jsObject + return this[Strings.createBufferSource].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable public func createChannelMerger(numberOfInputs: UInt32? = nil) -> ChannelMergerNode { + let this = jsObject + return this[Strings.createChannelMerger].function!(this: this, arguments: [numberOfInputs?.jsValue ?? .undefined]).fromJSValue()! + } + + @inlinable public func createChannelSplitter(numberOfOutputs: UInt32? = nil) -> ChannelSplitterNode { + let this = jsObject + return this[Strings.createChannelSplitter].function!(this: this, arguments: [numberOfOutputs?.jsValue ?? .undefined]).fromJSValue()! + } + + @inlinable public func createConstantSource() -> ConstantSourceNode { + let this = jsObject + return this[Strings.createConstantSource].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable public func createConvolver() -> ConvolverNode { + let this = jsObject + return this[Strings.createConvolver].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable public func createDelay(maxDelayTime: Double? = nil) -> DelayNode { + let this = jsObject + return this[Strings.createDelay].function!(this: this, arguments: [maxDelayTime?.jsValue ?? .undefined]).fromJSValue()! + } + + @inlinable public func createDynamicsCompressor() -> DynamicsCompressorNode { + let this = jsObject + return this[Strings.createDynamicsCompressor].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable 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 { + let this = jsObject + return this[Strings.createIIRFilter].function!(this: this, arguments: [feedforward.jsValue, feedback.jsValue]).fromJSValue()! + } + + @inlinable public func createOscillator() -> OscillatorNode { + let this = jsObject + return this[Strings.createOscillator].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable 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 { + let this = jsObject + return this[Strings.createPeriodicWave].function!(this: this, arguments: [real.jsValue, imag.jsValue, constraints?.jsValue ?? .undefined]).fromJSValue()! + } + + @inlinable public func createScriptProcessor(bufferSize: UInt32? = nil, numberOfInputChannels: UInt32? = nil, numberOfOutputChannels: UInt32? = nil) -> ScriptProcessorNode { + let this = jsObject + return this[Strings.createScriptProcessor].function!(this: this, arguments: [bufferSize?.jsValue ?? .undefined, numberOfInputChannels?.jsValue ?? .undefined, numberOfOutputChannels?.jsValue ?? .undefined]).fromJSValue()! + } + + @inlinable public func createStereoPanner() -> StereoPannerNode { + let this = jsObject + return this[Strings.createStereoPanner].function!(this: this, arguments: []).fromJSValue()! + } + + @inlinable public func createWaveShaper() -> WaveShaperNode { + let this = jsObject + return this[Strings.createWaveShaper].function!(this: this, arguments: []).fromJSValue()! + } + + // XXX: member 'decodeAudioData' is ignored + + // XXX: member 'decodeAudioData' is ignored +} + +public class BaseComputedKeyframe: BridgedDictionary { + public convenience init(offset: Double?, computedOffset: Double, easing: String, composite: CompositeOperationOrAuto) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = offset.jsValue + object[Strings.computedOffset] = computedOffset.jsValue + object[Strings.easing] = easing.jsValue + object[Strings.composite] = composite.jsValue + 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) + } + + @ReadWriteAttribute + public var offset: Double? + + @ReadWriteAttribute + public var computedOffset: Double + + @ReadWriteAttribute + public var easing: String + + @ReadWriteAttribute + public var composite: CompositeOperationOrAuto +} + +public class BaseKeyframe: BridgedDictionary { + public convenience init(offset: Double?, easing: String, composite: CompositeOperationOrAuto) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = offset.jsValue + object[Strings.easing] = easing.jsValue + object[Strings.composite] = composite.jsValue + 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) + } + + @ReadWriteAttribute + public var offset: Double? + + @ReadWriteAttribute + public var easing: String + + @ReadWriteAttribute + public var composite: CompositeOperationOrAuto +} + +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) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = offset.jsValue + object[Strings.easing] = easing.jsValue + object[Strings.composite] = composite.jsValue + 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) + } + + @ReadWriteAttribute + public var offset: nullable_Double_or_seq_of_nullable_Double + + @ReadWriteAttribute + public var easing: String_or_seq_of_String + + @ReadWriteAttribute + public var composite: CompositeOperationOrAuto_or_seq_of_CompositeOperationOrAuto +} + +public class BeforeUnloadEvent: Event { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.BeforeUnloadEvent].function! } + + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } + + // XXX: member 'returnValue' is ignored +} + +public class BiquadFilterNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: BiquadFilterOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadWriteAttribute + public var type: BiquadFilterType + + @ReadonlyAttribute + public var frequency: AudioParam + + @ReadonlyAttribute + public var detune: AudioParam + + @ReadonlyAttribute + public var Q: AudioParam + + @ReadonlyAttribute + public var gain: AudioParam + + @inlinable public func getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) { + let this = jsObject + _ = this[Strings.getFrequencyResponse].function!(this: this, arguments: [frequencyHz.jsValue, magResponse.jsValue, phaseResponse.jsValue]) + } +} + +public class BiquadFilterOptions: BridgedDictionary { + public convenience init(type: BiquadFilterType, Q: Float, detune: Float, frequency: Float, gain: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.type] = type.jsValue + object[Strings.Q] = Q.jsValue + object[Strings.detune] = detune.jsValue + object[Strings.frequency] = frequency.jsValue + object[Strings.gain] = gain.jsValue + 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) + } + + @ReadWriteAttribute + public var type: BiquadFilterType + + @ReadWriteAttribute + public var Q: Float + + @ReadWriteAttribute + public var detune: Float + + @ReadWriteAttribute + public var frequency: Float + + @ReadWriteAttribute + public var gain: Float +} + +public enum BiquadFilterType: JSString, JSValueCompatible { + case lowpass = "lowpass" + case highpass = "highpass" + case bandpass = "bandpass" + case lowshelf = "lowshelf" + case highshelf = "highshelf" + case peaking = "peaking" + case notch = "notch" + case allpass = "allpass" + + @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 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 + } + + @inlinable public convenience init(blobParts: [BlobPart]? = nil, options: BlobPropertyBag? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [blobParts?.jsValue ?? .undefined, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var size: UInt64 + + @ReadonlyAttribute + public var type: String + + @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: [start?.jsValue ?? .undefined, end?.jsValue ?? .undefined, contentType?.jsValue ?? .undefined]).fromJSValue()! + } + + // XXX: member 'stream' is ignored + + @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 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 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()! + } +} + +public class BlobPropertyBag: BridgedDictionary { + public convenience init(type: String, endings: EndingType) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.type] = type.jsValue + object[Strings.endings] = endings.jsValue + 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) + } + + @ReadWriteAttribute + public var type: String + + @ReadWriteAttribute + public var endings: EndingType +} + +public protocol Body: JSBridgedClass {} +public extension Body { + // XXX: attribute 'body' is ignored + + @inlinable var bodyUsed: Bool { ReadonlyAttribute[Strings.bodyUsed, in: jsObject] } + + @inlinable 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()! + } + + @inlinable 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()! + } + + @inlinable 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()! + } + + @inlinable 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()! + } + + @inlinable 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()! + } +} + +public class BroadcastChannel: EventTarget { + @inlinable override public 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) + } + + @inlinable public convenience init(name: String) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [name.jsValue])) + } + + @ReadonlyAttribute + public var name: String + + @inlinable public func postMessage(message: JSValue) { + let this = jsObject + _ = this[Strings.postMessage].function!(this: this, arguments: [message.jsValue]) + } + + @inlinable public func close() { + let this = jsObject + _ = this[Strings.close].function!(this: this, arguments: []) + } + + @ClosureAttribute1Optional + public var onmessage: EventHandler + + @ClosureAttribute1Optional + public var onmessageerror: EventHandler +} + +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 + } + + @inlinable public convenience init(init: QueuingStrategyInit) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [`init`.jsValue])) + } + + @ReadonlyAttribute + public var highWaterMark: Double + + @ReadonlyAttribute + public var size: JSFunction +} + +public class CDATASection: Text { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.CDATASection].function! } + + public required init(unsafelyWrapping jsObject: JSObject) { + super.init(unsafelyWrapping: jsObject) + } +} + +public class Cache: JSBridgedClass { + @inlinable public class var constructor: JSFunction { JSObject.global[Strings.Cache].function! } + + public let jsObject: JSObject + + public required init(unsafelyWrapping jsObject: JSObject) { + self.jsObject = jsObject + } + + @inlinable public func match(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + let this = jsObject + return this[Strings.match].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).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: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func matchAll(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + let this = jsObject + return this[Strings.matchAll].function!(this: this, arguments: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).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: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func add(request: RequestInfo) -> JSPromise { + let this = jsObject + return this[Strings.add].function!(this: this, arguments: [request.jsValue]).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: [request.jsValue]).fromJSValue()! + _ = try await _promise.value + } + + @inlinable public func addAll(requests: [RequestInfo]) -> JSPromise { + let this = jsObject + return this[Strings.addAll].function!(this: this, arguments: [requests.jsValue]).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: [requests.jsValue]).fromJSValue()! + _ = try await _promise.value + } + + @inlinable public func put(request: RequestInfo, response: Response) -> JSPromise { + let this = jsObject + return this[Strings.put].function!(this: this, arguments: [request.jsValue, response.jsValue]).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: [request.jsValue, response.jsValue]).fromJSValue()! + _ = try await _promise.value + } + + @inlinable public func delete(request: RequestInfo, options: CacheQueryOptions? = nil) -> JSPromise { + let this = jsObject + return this[Strings.delete].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).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: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func keys(request: RequestInfo? = nil, options: CacheQueryOptions? = nil) -> JSPromise { + let this = jsObject + return this[Strings.keys].function!(this: this, arguments: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).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: [request?.jsValue ?? .undefined, options?.jsValue ?? .undefined]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } +} + +public class CacheQueryOptions: BridgedDictionary { + public convenience init(ignoreSearch: Bool, ignoreMethod: Bool, ignoreVary: Bool) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.ignoreSearch] = ignoreSearch.jsValue + object[Strings.ignoreMethod] = ignoreMethod.jsValue + object[Strings.ignoreVary] = ignoreVary.jsValue + 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) + } + + @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 + } + + @inlinable public func match(request: RequestInfo, options: MultiCacheQueryOptions? = nil) -> JSPromise { + let this = jsObject + return this[Strings.match].function!(this: this, arguments: [request.jsValue, options?.jsValue ?? .undefined]).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: [request.jsValue, options?.jsValue ?? .undefined]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func has(cacheName: String) -> JSPromise { + let this = jsObject + return this[Strings.has].function!(this: this, arguments: [cacheName.jsValue]).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: [cacheName.jsValue]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func open(cacheName: String) -> JSPromise { + let this = jsObject + return this[Strings.open].function!(this: this, arguments: [cacheName.jsValue]).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: [cacheName.jsValue]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable public func delete(cacheName: String) -> JSPromise { + let this = jsObject + return this[Strings.delete].function!(this: this, arguments: [cacheName.jsValue]).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: [cacheName.jsValue]).fromJSValue()! + return try await _promise.value.fromJSValue()! + } + + @inlinable 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()! + } +} + +public class CameraDevicePermissionDescriptor: BridgedDictionary { + public convenience init(panTiltZoom: Bool) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.panTiltZoom] = panTiltZoom.jsValue + self.init(unsafelyWrapping: object) + } + + 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) + } + 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 { get { ReadWriteAttribute[Strings.globalAlpha, in: jsObject] } nonmutating set { ReadWriteAttribute[Strings.globalAlpha, in: jsObject] = newValue } @@ -2006,6 +3075,99 @@ public extension CanvasUserInterface { } } +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) + } + return nil + } + + @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) + } + return nil + } + + @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 convenience init(context: BaseAudioContext, options: ChannelMergerOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } +} + +public class ChannelMergerOptions: BridgedDictionary { + public convenience init(numberOfInputs: UInt32) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.numberOfInputs] = numberOfInputs.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _numberOfInputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfInputs) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var numberOfInputs: UInt32 +} + +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 convenience init(context: BaseAudioContext, options: ChannelSplitterOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } +} + +public class ChannelSplitterOptions: BridgedDictionary { + public convenience init(numberOfOutputs: UInt32) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.numberOfOutputs] = numberOfOutputs.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _numberOfOutputs = ReadWriteAttribute(jsObject: object, name: Strings.numberOfOutputs) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var numberOfOutputs: UInt32 +} + public class CharacterData: Node, NonDocumentTypeChildNode, ChildNode { @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.CharacterData].function! } @@ -2238,6 +3400,38 @@ public class ComputedEffectTiming: BridgedDictionary { public var currentIteration: Double? } +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 convenience init(context: BaseAudioContext, options: ConstantSourceOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var offset: AudioParam +} + +public class ConstantSourceOptions: BridgedDictionary { + public convenience init(offset: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.offset] = offset.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _offset = ReadWriteAttribute(jsObject: object, name: Strings.offset) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var offset: Float +} + public class ConstrainBooleanParameters: BridgedDictionary { public convenience init(exact: Bool, ideal: Bool) { let object = JSObject.global[Strings.Object].function!.new() @@ -2322,6 +3516,47 @@ public class ConstrainULongRange: BridgedDictionary { public var ideal: UInt32 } +public class ConvolverNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: ConvolverOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadWriteAttribute + public var buffer: AudioBuffer? + + @ReadWriteAttribute + public var normalize: Bool +} + +public class ConvolverOptions: BridgedDictionary { + public convenience init(buffer: AudioBuffer?, disableNormalization: Bool) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.buffer] = buffer.jsValue + object[Strings.disableNormalization] = disableNormalization.jsValue + 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) + } + + @ReadWriteAttribute + public var buffer: AudioBuffer? + + @ReadWriteAttribute + public var disableNormalization: Bool +} + public class CountQueuingStrategy: JSBridgedClass { @inlinable public class var constructor: JSFunction { JSObject.global[Strings.CountQueuingStrategy].function! } @@ -3725,6 +4960,43 @@ public class DataTransferItemList: JSBridgedClass { } } +public class DelayNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: DelayOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var delayTime: AudioParam +} + +public class DelayOptions: BridgedDictionary { + public convenience init(maxDelayTime: Double, delayTime: Double) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.maxDelayTime] = maxDelayTime.jsValue + object[Strings.delayTime] = delayTime.jsValue + 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) + } + + @ReadWriteAttribute + public var maxDelayTime: Double + + @ReadWriteAttribute + public var delayTime: Double +} + public class DevicePermissionDescriptor: BridgedDictionary { public convenience init(deviceId: String) { let object = JSObject.global[Strings.Object].function!.new() @@ -3741,6 +5013,25 @@ public class DevicePermissionDescriptor: BridgedDictionary { public var deviceId: String } +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) + } + return nil + } + + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} + public class Document: Node, NonElementParentNode, DocumentOrShadowRoot, ParentNode, XPathEvaluatorBase, GlobalEventHandlers, DocumentAndElementEventHandlers { @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.Document].function! } @@ -4267,6 +5558,78 @@ public class DragEventInit: BridgedDictionary { public var dataTransfer: DataTransfer? } +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 convenience init(context: BaseAudioContext, options: DynamicsCompressorOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var threshold: AudioParam + + @ReadonlyAttribute + public var knee: AudioParam + + @ReadonlyAttribute + public var ratio: AudioParam + + @ReadonlyAttribute + public var reduction: Float + + @ReadonlyAttribute + public var attack: AudioParam + + @ReadonlyAttribute + public var release: AudioParam +} + +public class DynamicsCompressorOptions: BridgedDictionary { + public convenience init(attack: Float, knee: Float, ratio: Float, release: Float, threshold: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.attack] = attack.jsValue + object[Strings.knee] = knee.jsValue + object[Strings.ratio] = ratio.jsValue + object[Strings.release] = release.jsValue + object[Strings.threshold] = threshold.jsValue + 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) + } + + @ReadWriteAttribute + public var attack: Float + + @ReadWriteAttribute + public var knee: Float + + @ReadWriteAttribute + public var ratio: Float + + @ReadWriteAttribute + public var release: Float + + @ReadWriteAttribute + public var threshold: Float +} + public class EffectTiming: BridgedDictionary { public convenience init(delay: Double, endDelay: Double, fill: FillMode, iterationStart: Double, iterations: Double, direction: PlaybackDirection, easing: String) { let object = JSObject.global[Strings.Object].function!.new() @@ -5372,6 +6735,38 @@ public enum FrameType: JSString, JSValueCompatible { @inlinable public var jsValue: JSValue { rawValue.jsValue } } +public class GainNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: GainOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var gain: AudioParam +} + +public class GainOptions: BridgedDictionary { + public convenience init(gain: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.gain] = gain.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _gain = ReadWriteAttribute(jsObject: object, name: Strings.gain) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var gain: Float +} + public protocol GenericTransformStream: JSBridgedClass {} public extension GenericTransformStream { @inlinable var readable: ReadableStream { ReadonlyAttribute[Strings.readable, in: jsObject] } @@ -9256,6 +10651,44 @@ public class History: JSBridgedClass { } } +public class IIRFilterNode: AudioNode { + @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.IIRFilterNode].function! } + + 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: [context.jsValue, options.jsValue])) + } + + @inlinable public func getFrequencyResponse(frequencyHz: Float32Array, magResponse: Float32Array, phaseResponse: Float32Array) { + let this = jsObject + _ = this[Strings.getFrequencyResponse].function!(this: this, arguments: [frequencyHz.jsValue, magResponse.jsValue, phaseResponse.jsValue]) + } +} + +public class IIRFilterOptions: BridgedDictionary { + public convenience init(feedforward: [Double], feedback: [Double]) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.feedforward] = feedforward.jsValue + object[Strings.feedback] = feedback.jsValue + 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) + } + + @ReadWriteAttribute + public var feedforward: [Double] + + @ReadWriteAttribute + public var feedback: [Double] +} + public class ImageBitmap: JSBridgedClass { @inlinable public class var constructor: JSFunction { JSObject.global[Strings.ImageBitmap].function! } @@ -9892,6 +11325,38 @@ public class MediaDevices: EventTarget { } } +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 convenience init(context: AudioContext, options: MediaElementAudioSourceOptions) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options.jsValue])) + } + + @ReadonlyAttribute + public var mediaElement: HTMLMediaElement +} + +public class MediaElementAudioSourceOptions: BridgedDictionary { + public convenience init(mediaElement: HTMLMediaElement) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.mediaElement] = mediaElement.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _mediaElement = ReadWriteAttribute(jsObject: object, name: Strings.mediaElement) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var mediaElement: HTMLMediaElement +} + public class MediaError: JSBridgedClass { @inlinable public class var constructor: JSFunction { JSObject.global[Strings.MediaError].function! } @@ -9989,6 +11454,54 @@ public class MediaStream: EventTarget { public var onremovetrack: EventHandler } +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 convenience init(context: AudioContext, options: AudioNodeOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var stream: MediaStream +} + +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 convenience init(context: AudioContext, options: MediaStreamAudioSourceOptions) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options.jsValue])) + } + + @ReadonlyAttribute + public var mediaStream: MediaStream +} + +public class MediaStreamAudioSourceOptions: BridgedDictionary { + public convenience init(mediaStream: MediaStream) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.mediaStream] = mediaStream.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _mediaStream = ReadWriteAttribute(jsObject: object, name: Strings.mediaStream) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var mediaStream: MediaStream +} + public class MediaStreamConstraints: BridgedDictionary { public convenience init(video: Bool_or_MediaTrackConstraints, audio: Bool_or_MediaTrackConstraints) { let object = JSObject.global[Strings.Object].function!.new() @@ -10091,6 +11604,34 @@ public class MediaStreamTrack: EventTarget { } } +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 convenience init(context: AudioContext, options: MediaStreamTrackAudioSourceOptions) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options.jsValue])) + } +} + +public class MediaStreamTrackAudioSourceOptions: BridgedDictionary { + public convenience init(mediaStreamTrack: MediaStreamTrack) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.mediaStreamTrack] = mediaStreamTrack.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _mediaStreamTrack = ReadWriteAttribute(jsObject: object, name: Strings.mediaStreamTrack) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var mediaStreamTrack: MediaStreamTrack +} + public class MediaStreamTrackEvent: Event { @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaStreamTrackEvent].function! } @@ -11432,48 +12973,166 @@ public class NodeIterator: JSBridgedClass { return this[Strings.previousNode].function!(this: this, arguments: []).fromJSValue()! } - @inlinable public func detach() { + @inlinable public func detach() { + let this = jsObject + _ = this[Strings.detach].function!(this: this, arguments: []) + } +} + +public class NodeList: JSBridgedClass, Sequence { + @inlinable public class var constructor: JSFunction { JSObject.global[Strings.NodeList].function! } + + public let 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() + } + + @ReadonlyAttribute + public var length: UInt32 + + public typealias Element = Node + public func makeIterator() -> ValueIterableIterator { + ValueIterableIterator(sequence: self) + } +} + +public protocol NonDocumentTypeChildNode: JSBridgedClass {} +public extension NonDocumentTypeChildNode { + @inlinable var previousElementSibling: Element? { ReadonlyAttribute[Strings.previousElementSibling, in: jsObject] } + + @inlinable var nextElementSibling: Element? { ReadonlyAttribute[Strings.nextElementSibling, in: jsObject] } +} + +public protocol NonElementParentNode: JSBridgedClass {} +public extension NonElementParentNode { + @inlinable func getElementById(elementId: String) -> Element? { + let this = jsObject + return this[Strings.getElementById].function!(this: this, arguments: [elementId.jsValue]).fromJSValue()! + } +} + +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 convenience init(type: String, eventInitDict: OfflineAudioCompletionEventInit) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue])) + } + + @ReadonlyAttribute + public var renderedBuffer: AudioBuffer +} + +public class OfflineAudioCompletionEventInit: BridgedDictionary { + public convenience init(renderedBuffer: AudioBuffer) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.renderedBuffer] = renderedBuffer.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _renderedBuffer = ReadWriteAttribute(jsObject: object, name: Strings.renderedBuffer) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var renderedBuffer: AudioBuffer +} + +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 convenience init(contextOptions: OfflineAudioContextOptions) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [contextOptions.jsValue])) + } + + @inlinable public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [numberOfChannels.jsValue, length.jsValue, sampleRate.jsValue])) + } + + @inlinable 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()! + } + + @inlinable public func resume() -> JSPromise { let this = jsObject - _ = this[Strings.detach].function!(this: this, arguments: []) + return this[Strings.resume].function!(this: this, arguments: []).fromJSValue()! } -} - -public class NodeList: JSBridgedClass, Sequence { - @inlinable public class var constructor: JSFunction { JSObject.global[Strings.NodeList].function! } - public let jsObject: JSObject + @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 + } - public required init(unsafelyWrapping jsObject: JSObject) { - _length = ReadonlyAttribute(jsObject: jsObject, name: Strings.length) - self.jsObject = jsObject + @inlinable public func suspend(suspendTime: Double) -> JSPromise { + let this = jsObject + return this[Strings.suspend].function!(this: this, arguments: [suspendTime.jsValue]).fromJSValue()! } - @inlinable public subscript(key: Int) -> Node? { - jsObject[key].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: [suspendTime.jsValue]).fromJSValue()! + _ = try await _promise.value } @ReadonlyAttribute public var length: UInt32 - public typealias Element = Node - public func makeIterator() -> ValueIterableIterator { - ValueIterableIterator(sequence: self) - } + @ClosureAttribute1Optional + public var oncomplete: EventHandler } -public protocol NonDocumentTypeChildNode: JSBridgedClass {} -public extension NonDocumentTypeChildNode { - @inlinable var previousElementSibling: Element? { ReadonlyAttribute[Strings.previousElementSibling, in: jsObject] } - - @inlinable var nextElementSibling: Element? { ReadonlyAttribute[Strings.nextElementSibling, in: jsObject] } -} +public class OfflineAudioContextOptions: BridgedDictionary { + public convenience init(numberOfChannels: UInt32, length: UInt32, sampleRate: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.numberOfChannels] = numberOfChannels.jsValue + object[Strings.length] = length.jsValue + object[Strings.sampleRate] = sampleRate.jsValue + self.init(unsafelyWrapping: object) + } -public protocol NonElementParentNode: JSBridgedClass {} -public extension NonElementParentNode { - @inlinable func getElementById(elementId: String) -> Element? { - let this = jsObject - return this[Strings.getElementById].function!(this: this, arguments: [elementId.jsValue]).fromJSValue()! + 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) } + + @ReadWriteAttribute + public var numberOfChannels: UInt32 + + @ReadWriteAttribute + public var length: UInt32 + + @ReadWriteAttribute + public var sampleRate: Float } public class OffscreenCanvas: EventTarget { @@ -11559,110 +13218,387 @@ public enum OffscreenRenderingContextId: JSString, JSValueCompatible { return nil } - @inlinable public init?(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 OptionalEffectTiming: BridgedDictionary { + public convenience init(delay: Double, endDelay: Double, fill: FillMode, iterationStart: Double, iterations: Double, duration: Double_or_String, direction: PlaybackDirection, easing: String) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.delay] = delay.jsValue + object[Strings.endDelay] = endDelay.jsValue + object[Strings.fill] = fill.jsValue + object[Strings.iterationStart] = iterationStart.jsValue + object[Strings.iterations] = iterations.jsValue + object[Strings.duration] = duration.jsValue + object[Strings.direction] = direction.jsValue + object[Strings.easing] = easing.jsValue + 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) + } + + @ReadWriteAttribute + public var delay: Double + + @ReadWriteAttribute + public var endDelay: Double + + @ReadWriteAttribute + public var fill: FillMode + + @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 +} + +public class OscillatorNode: AudioScheduledSourceNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: OscillatorOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadWriteAttribute + public var type: OscillatorType + + @ReadonlyAttribute + public var frequency: AudioParam + + @ReadonlyAttribute + public var detune: AudioParam + + @inlinable public func setPeriodicWave(periodicWave: PeriodicWave) { + let this = jsObject + _ = this[Strings.setPeriodicWave].function!(this: this, arguments: [periodicWave.jsValue]) + } +} + +public class OscillatorOptions: BridgedDictionary { + public convenience init(type: OscillatorType, frequency: Float, detune: Float, periodicWave: PeriodicWave) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.type] = type.jsValue + object[Strings.frequency] = frequency.jsValue + object[Strings.detune] = detune.jsValue + object[Strings.periodicWave] = periodicWave.jsValue + 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) + } + + @ReadWriteAttribute + public var type: OscillatorType + + @ReadWriteAttribute + public var frequency: Float + + @ReadWriteAttribute + public var detune: Float + + @ReadWriteAttribute + public var periodicWave: PeriodicWave +} + +public enum OscillatorType: JSString, JSValueCompatible { + case sine = "sine" + case square = "square" + case sawtooth = "sawtooth" + case triangle = "triangle" + case custom = "custom" + + @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 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) + } + return nil + } + + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) + } + + @inlinable public var jsValue: JSValue { rawValue.jsValue } +} + +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 convenience init(constraint: String, message: String? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [constraint.jsValue, message?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var constraint: String +} + +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 convenience init(type: String, eventInitDict: PageTransitionEventInit? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var persisted: Bool +} + +public class PageTransitionEventInit: BridgedDictionary { + public convenience init(persisted: Bool) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.persisted] = persisted.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _persisted = ReadWriteAttribute(jsObject: object, name: Strings.persisted) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var persisted: Bool +} + +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 convenience init(context: BaseAudioContext, options: PannerOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadWriteAttribute + public var panningModel: PanningModelType + + @ReadonlyAttribute + public var positionX: AudioParam + + @ReadonlyAttribute + public var positionY: AudioParam + + @ReadonlyAttribute + public var positionZ: AudioParam + + @ReadonlyAttribute + public var orientationX: AudioParam + + @ReadonlyAttribute + public var orientationY: AudioParam + + @ReadonlyAttribute + public var orientationZ: AudioParam + + @ReadWriteAttribute + public var distanceModel: DistanceModelType + + @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 func setPosition(x: Float, y: Float, z: Float) { + let this = jsObject + _ = this[Strings.setPosition].function!(this: this, arguments: [x.jsValue, y.jsValue, z.jsValue]) } - @inlinable public var jsValue: JSValue { rawValue.jsValue } + @inlinable public func setOrientation(x: Float, y: Float, z: Float) { + let this = jsObject + _ = this[Strings.setOrientation].function!(this: this, arguments: [x.jsValue, y.jsValue, z.jsValue]) + } } -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 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) { let object = JSObject.global[Strings.Object].function!.new() - object[Strings.delay] = delay.jsValue - object[Strings.endDelay] = endDelay.jsValue - object[Strings.fill] = fill.jsValue - object[Strings.iterationStart] = iterationStart.jsValue - object[Strings.iterations] = iterations.jsValue - object[Strings.duration] = duration.jsValue - object[Strings.direction] = direction.jsValue - object[Strings.easing] = easing.jsValue + object[Strings.panningModel] = panningModel.jsValue + object[Strings.distanceModel] = distanceModel.jsValue + object[Strings.positionX] = positionX.jsValue + object[Strings.positionY] = positionY.jsValue + object[Strings.positionZ] = positionZ.jsValue + object[Strings.orientationX] = orientationX.jsValue + object[Strings.orientationY] = orientationY.jsValue + object[Strings.orientationZ] = orientationZ.jsValue + object[Strings.refDistance] = refDistance.jsValue + object[Strings.maxDistance] = maxDistance.jsValue + object[Strings.rolloffFactor] = rolloffFactor.jsValue + object[Strings.coneInnerAngle] = coneInnerAngle.jsValue + object[Strings.coneOuterAngle] = coneOuterAngle.jsValue + object[Strings.coneOuterGain] = coneOuterGain.jsValue 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) + _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) } @ReadWriteAttribute - public var delay: Double + public var panningModel: PanningModelType @ReadWriteAttribute - public var endDelay: Double + public var distanceModel: DistanceModelType @ReadWriteAttribute - public var fill: FillMode + public var positionX: Float @ReadWriteAttribute - public var iterationStart: Double + public var positionY: Float @ReadWriteAttribute - public var iterations: Double + public var positionZ: Float @ReadWriteAttribute - public var duration: Double_or_String + public var orientationX: Float @ReadWriteAttribute - public var direction: PlaybackDirection + public var orientationY: Float @ReadWriteAttribute - public var easing: String -} - -public class OverconstrainedError: DOMException { - @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.OverconstrainedError].function! } + public var orientationZ: Float - 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: [constraint.jsValue, message?.jsValue ?? .undefined])) - } + @ReadWriteAttribute + public var refDistance: Double - @ReadonlyAttribute - public var constraint: String -} + @ReadWriteAttribute + public var maxDistance: Double -public class PageTransitionEvent: Event { - @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.PageTransitionEvent].function! } + @ReadWriteAttribute + public var rolloffFactor: Double - public required init(unsafelyWrapping jsObject: JSObject) { - _persisted = ReadonlyAttribute(jsObject: jsObject, name: Strings.persisted) - super.init(unsafelyWrapping: jsObject) - } + @ReadWriteAttribute + public var coneInnerAngle: Double - @inlinable public convenience init(type: String, eventInitDict: PageTransitionEventInit? = nil) { - self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict?.jsValue ?? .undefined])) - } + @ReadWriteAttribute + public var coneOuterAngle: Double - @ReadonlyAttribute - public var persisted: Bool + @ReadWriteAttribute + public var coneOuterGain: Double } -public class PageTransitionEventInit: BridgedDictionary { - public convenience init(persisted: Bool) { - let object = JSObject.global[Strings.Object].function!.new() - object[Strings.persisted] = persisted.jsValue - self.init(unsafelyWrapping: object) +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) + } + return nil } - public required init(unsafelyWrapping object: JSObject) { - _persisted = ReadWriteAttribute(jsObject: object, name: Strings.persisted) - super.init(unsafelyWrapping: object) + @inlinable public init?(string: String) { + self.init(rawValue: JSString(string)) } - @ReadWriteAttribute - public var persisted: Bool + @inlinable public var jsValue: JSValue { rawValue.jsValue } } public protocol ParentNode: JSBridgedClass {} @@ -11742,6 +13678,57 @@ public class Performance: EventTarget { } } +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 + } + + @inlinable public convenience init(context: BaseAudioContext, options: PeriodicWaveOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } +} + +public class PeriodicWaveConstraints: BridgedDictionary { + public convenience init(disableNormalization: Bool) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.disableNormalization] = disableNormalization.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _disableNormalization = ReadWriteAttribute(jsObject: object, name: Strings.disableNormalization) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var disableNormalization: Bool +} + +public class PeriodicWaveOptions: BridgedDictionary { + public convenience init(real: [Float], imag: [Float]) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.real] = real.jsValue + object[Strings.imag] = imag.jsValue + 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) + } + + @ReadWriteAttribute + public var real: [Float] + + @ReadWriteAttribute + public var imag: [Float] +} + public enum PlaybackDirection: JSString, JSValueCompatible { case normal = "normal" case reverse = "reverse" @@ -12976,6 +14963,22 @@ public enum ResponseType: JSString, JSValueCompatible { @inlinable public var jsValue: JSValue { rawValue.jsValue } } +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) + } + + @ClosureAttribute1Optional + public var onaudioprocess: EventHandler + + @ReadonlyAttribute + public var bufferSize: Int32 +} + public enum ScrollRestoration: JSString, JSValueCompatible { case auto = "auto" case manual = "manual" @@ -13368,6 +15371,38 @@ public class StaticRangeInit: BridgedDictionary { public var endOffset: UInt32 } +public class StereoPannerNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: StereoPannerOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadonlyAttribute + public var pan: AudioParam +} + +public class StereoPannerOptions: BridgedDictionary { + public convenience init(pan: Float) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.pan] = pan.jsValue + self.init(unsafelyWrapping: object) + } + + public required init(unsafelyWrapping object: JSObject) { + _pan = ReadWriteAttribute(jsObject: object, name: Strings.pan) + super.init(unsafelyWrapping: object) + } + + @ReadWriteAttribute + public var pan: Float +} + public class Storage: JSBridgedClass { @inlinable public class var constructor: JSFunction { JSObject.global[Strings.Storage].function! } @@ -14079,6 +16114,9 @@ public typealias TransformerTransformCallback = (JSValue, TransformStreamDefault public typealias QueuingStrategySize = (JSValue) -> Double public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void +public typealias DecodeErrorCallback = (DOMException) -> Void +public typealias DecodeSuccessCallback = (AudioBuffer) -> Void +public typealias AudioWorkletProcessCallback = ([[Float32Array]], [[Float32Array]], JSObject) -> Bool public class UIEvent: Event { @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.UIEvent].function! } @@ -14582,6 +16620,47 @@ public class VideoTrackList: EventTarget { public var onremovetrack: EventHandler } +public class WaveShaperNode: AudioNode { + @inlinable override public 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) + } + + @inlinable public convenience init(context: BaseAudioContext, options: WaveShaperOptions? = nil) { + self.init(unsafelyWrapping: Self.constructor.new(arguments: [context.jsValue, options?.jsValue ?? .undefined])) + } + + @ReadWriteAttribute + public var curve: Float32Array? + + @ReadWriteAttribute + public var oversample: OverSampleType +} + +public class WaveShaperOptions: BridgedDictionary { + public convenience init(curve: [Float], oversample: OverSampleType) { + let object = JSObject.global[Strings.Object].function!.new() + object[Strings.curve] = curve.jsValue + object[Strings.oversample] = oversample.jsValue + 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) + } + + @ReadWriteAttribute + public var curve: [Float] + + @ReadWriteAttribute + public var oversample: OverSampleType +} + public class WheelEvent: MouseEvent { @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.WheelEvent].function! } @@ -16127,6 +18206,70 @@ public enum console { } } +@propertyWrapper public final class ClosureAttribute3 + where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible +{ + @usableFromInline let jsObject: JSObject + @usableFromInline let name: JSString + + 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($0.jsValue, $1.jsValue, $2.jsValue).fromJSValue()! } + } + set { + jsObject[name] = JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!).jsValue + }.jsValue + } + } +} + +@propertyWrapper public final class ClosureAttribute3Optional + where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, ReturnType: JSValueCompatible +{ + @usableFromInline let jsObject: JSObject + @usableFromInline let name: JSString + + 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($0.jsValue, $1.jsValue, $2.jsValue).fromJSValue()! } + } + set { + if let newValue = newValue { + jsObject[name] = JSClosure { + newValue($0[0].fromJSValue()!, $0[1].fromJSValue()!, $0[2].fromJSValue()!).jsValue + }.jsValue + } else { + jsObject[name] = .null + } + } + } +} + @propertyWrapper public final class ClosureAttribute5 where A0: JSValueCompatible, A1: JSValueCompatible, A2: JSValueCompatible, A3: JSValueCompatible, A4: JSValueCompatible, ReturnType: JSValueCompatible { @@ -16197,14 +18340,29 @@ public enum console { @usableFromInline static let AbortSignal: JSString = "AbortSignal" @usableFromInline static let AbstractRange: JSString = "AbstractRange" @usableFromInline static let AddSearchProvider: JSString = "AddSearchProvider" + @usableFromInline static let AnalyserNode: JSString = "AnalyserNode" @usableFromInline static let Animation: JSString = "Animation" @usableFromInline static let AnimationEffect: JSString = "AnimationEffect" @usableFromInline static let AnimationTimeline: JSString = "AnimationTimeline" @usableFromInline static let Attr: JSString = "Attr" + @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 AudioScheduledSourceNode: JSString = "AudioScheduledSourceNode" @usableFromInline static let AudioTrack: JSString = "AudioTrack" @usableFromInline static let AudioTrackList: JSString = "AudioTrackList" + @usableFromInline static let AudioWorklet: JSString = "AudioWorklet" + @usableFromInline static let AudioWorkletNode: JSString = "AudioWorkletNode" @usableFromInline static let BarProp: JSString = "BarProp" + @usableFromInline static let BaseAudioContext: JSString = "BaseAudioContext" @usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent" + @usableFromInline static let BiquadFilterNode: JSString = "BiquadFilterNode" @usableFromInline static let Blob: JSString = "Blob" @usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel" @usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy" @@ -16215,9 +18373,13 @@ public enum console { @usableFromInline static let CanvasGradient: JSString = "CanvasGradient" @usableFromInline static let CanvasPattern: JSString = "CanvasPattern" @usableFromInline static let CanvasRenderingContext2D: JSString = "CanvasRenderingContext2D" + @usableFromInline static let ChannelMergerNode: JSString = "ChannelMergerNode" + @usableFromInline static let ChannelSplitterNode: JSString = "ChannelSplitterNode" @usableFromInline static let CharacterData: JSString = "CharacterData" @usableFromInline static let Comment: JSString = "Comment" @usableFromInline static let CompositionEvent: JSString = "CompositionEvent" + @usableFromInline static let ConstantSourceNode: JSString = "ConstantSourceNode" + @usableFromInline static let ConvolverNode: JSString = "ConvolverNode" @usableFromInline static let CountQueuingStrategy: JSString = "CountQueuingStrategy" @usableFromInline static let CustomElementRegistry: JSString = "CustomElementRegistry" @usableFromInline static let CustomEvent: JSString = "CustomEvent" @@ -16238,11 +18400,13 @@ public enum console { @usableFromInline static let DataTransfer: JSString = "DataTransfer" @usableFromInline static let DataTransferItem: JSString = "DataTransferItem" @usableFromInline static let DataTransferItemList: JSString = "DataTransferItemList" + @usableFromInline static let DelayNode: JSString = "DelayNode" @usableFromInline static let Document: JSString = "Document" @usableFromInline static let DocumentFragment: JSString = "DocumentFragment" @usableFromInline static let DocumentTimeline: JSString = "DocumentTimeline" @usableFromInline static let DocumentType: JSString = "DocumentType" @usableFromInline static let DragEvent: JSString = "DragEvent" + @usableFromInline static let DynamicsCompressorNode: JSString = "DynamicsCompressorNode" @usableFromInline static let Element: JSString = "Element" @usableFromInline static let ElementInternals: JSString = "ElementInternals" @usableFromInline static let ErrorEvent: JSString = "ErrorEvent" @@ -16256,6 +18420,7 @@ public enum console { @usableFromInline static let FocusEvent: JSString = "FocusEvent" @usableFromInline static let FormData: JSString = "FormData" @usableFromInline static let FormDataEvent: JSString = "FormDataEvent" + @usableFromInline static let GainNode: JSString = "GainNode" @usableFromInline static let HTMLAllCollection: JSString = "HTMLAllCollection" @usableFromInline static let HTMLAnchorElement: JSString = "HTMLAnchorElement" @usableFromInline static let HTMLAreaElement: JSString = "HTMLAreaElement" @@ -16334,6 +18499,7 @@ public enum console { @usableFromInline static let HashChangeEvent: JSString = "HashChangeEvent" @usableFromInline static let Headers: JSString = "Headers" @usableFromInline static let History: JSString = "History" + @usableFromInline static let IIRFilterNode: JSString = "IIRFilterNode" @usableFromInline static let ImageBitmap: JSString = "ImageBitmap" @usableFromInline static let ImageBitmapRenderingContext: JSString = "ImageBitmapRenderingContext" @usableFromInline static let ImageData: JSString = "ImageData" @@ -16345,9 +18511,13 @@ public enum console { @usableFromInline static let Location: JSString = "Location" @usableFromInline static let MediaDeviceInfo: JSString = "MediaDeviceInfo" @usableFromInline static let MediaDevices: JSString = "MediaDevices" + @usableFromInline static let MediaElementAudioSourceNode: JSString = "MediaElementAudioSourceNode" @usableFromInline static let MediaError: JSString = "MediaError" @usableFromInline static let MediaStream: JSString = "MediaStream" + @usableFromInline static let MediaStreamAudioDestinationNode: JSString = "MediaStreamAudioDestinationNode" + @usableFromInline static let MediaStreamAudioSourceNode: JSString = "MediaStreamAudioSourceNode" @usableFromInline static let MediaStreamTrack: JSString = "MediaStreamTrack" + @usableFromInline static let MediaStreamTrackAudioSourceNode: JSString = "MediaStreamTrackAudioSourceNode" @usableFromInline static let MediaStreamTrackEvent: JSString = "MediaStreamTrackEvent" @usableFromInline static let MessageChannel: JSString = "MessageChannel" @usableFromInline static let MessageEvent: JSString = "MessageEvent" @@ -16365,18 +18535,24 @@ public enum console { @usableFromInline static let NodeIterator: JSString = "NodeIterator" @usableFromInline static let NodeList: JSString = "NodeList" @usableFromInline static let Object: JSString = "Object" + @usableFromInline static let OfflineAudioCompletionEvent: JSString = "OfflineAudioCompletionEvent" + @usableFromInline static let OfflineAudioContext: JSString = "OfflineAudioContext" @usableFromInline static let OffscreenCanvas: JSString = "OffscreenCanvas" @usableFromInline static let OffscreenCanvasRenderingContext2D: JSString = "OffscreenCanvasRenderingContext2D" + @usableFromInline static let OscillatorNode: JSString = "OscillatorNode" @usableFromInline static let OverconstrainedError: JSString = "OverconstrainedError" @usableFromInline static let PageTransitionEvent: JSString = "PageTransitionEvent" + @usableFromInline static let PannerNode: JSString = "PannerNode" @usableFromInline static let Path2D: JSString = "Path2D" @usableFromInline static let Performance: JSString = "Performance" + @usableFromInline static let PeriodicWave: JSString = "PeriodicWave" @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 Q: JSString = "Q" @usableFromInline static let RadioNodeList: JSString = "RadioNodeList" @usableFromInline static let Range: JSString = "Range" @usableFromInline static let ReadableByteStreamController: JSString = "ReadableByteStreamController" @@ -16387,12 +18563,14 @@ public enum console { @usableFromInline static let ReadableStreamDefaultReader: JSString = "ReadableStreamDefaultReader" @usableFromInline static let Request: JSString = "Request" @usableFromInline static let Response: JSString = "Response" + @usableFromInline static let ScriptProcessorNode: JSString = "ScriptProcessorNode" @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 StaticRange: JSString = "StaticRange" + @usableFromInline static let StereoPannerNode: JSString = "StereoPannerNode" @usableFromInline static let Storage: JSString = "Storage" @usableFromInline static let StorageEvent: JSString = "StorageEvent" @usableFromInline static let SubmitEvent: JSString = "SubmitEvent" @@ -16413,6 +18591,7 @@ public enum console { @usableFromInline static let ValidityState: JSString = "ValidityState" @usableFromInline static let VideoTrack: JSString = "VideoTrack" @usableFromInline static let VideoTrackList: JSString = "VideoTrackList" + @usableFromInline static let WaveShaperNode: JSString = "WaveShaperNode" @usableFromInline static let WheelEvent: JSString = "WheelEvent" @usableFromInline static let Window: JSString = "Window" @usableFromInline static let Worker: JSString = "Worker" @@ -16534,6 +18713,7 @@ public enum console { @usableFromInline static let atob: JSString = "atob" @usableFromInline static let attachInternals: JSString = "attachInternals" @usableFromInline static let attachShadow: JSString = "attachShadow" + @usableFromInline static let attack: JSString = "attack" @usableFromInline static let attrChange: JSString = "attrChange" @usableFromInline static let attrName: JSString = "attrName" @usableFromInline static let attributeFilter: JSString = "attributeFilter" @@ -16543,17 +18723,20 @@ public enum console { @usableFromInline static let attributes: JSString = "attributes" @usableFromInline static let audio: JSString = "audio" @usableFromInline static let audioTracks: JSString = "audioTracks" + @usableFromInline static let audioWorklet: JSString = "audioWorklet" @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 automationRate: JSString = "automationRate" @usableFromInline static let autoplay: JSString = "autoplay" @usableFromInline static let axis: JSString = "axis" @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 baseLatency: JSString = "baseLatency" @usableFromInline static let baseURI: JSString = "baseURI" @usableFromInline static let before: JSString = "before" @usableFromInline static let beginPath: JSString = "beginPath" @@ -16570,6 +18753,8 @@ public enum console { @usableFromInline static let bottom: JSString = "bottom" @usableFromInline static let btoa: JSString = "btoa" @usableFromInline static let bubbles: JSString = "bubbles" + @usableFromInline static let buffer: JSString = "buffer" + @usableFromInline static let bufferSize: JSString = "bufferSize" @usableFromInline static let buffered: JSString = "buffered" @usableFromInline static let button: JSString = "button" @usableFromInline static let buttons: JSString = "buttons" @@ -16580,8 +18765,10 @@ public enum console { @usableFromInline static let caches: JSString = "caches" @usableFromInline static let canPlayType: JSString = "canPlayType" @usableFromInline static let cancel: JSString = "cancel" + @usableFromInline static let cancelAndHoldAtTime: JSString = "cancelAndHoldAtTime" @usableFromInline static let cancelAnimationFrame: JSString = "cancelAnimationFrame" @usableFromInline static let cancelBubble: JSString = "cancelBubble" + @usableFromInline static let cancelScheduledValues: JSString = "cancelScheduledValues" @usableFromInline static let cancelable: JSString = "cancelable" @usableFromInline static let canvas: JSString = "canvas" @usableFromInline static let caption: JSString = "caption" @@ -16594,6 +18781,8 @@ public enum console { @usableFromInline static let ch: JSString = "ch" @usableFromInline static let chOff: JSString = "chOff" @usableFromInline static let channelCount: JSString = "channelCount" + @usableFromInline static let channelCountMode: JSString = "channelCountMode" + @usableFromInline static let channelInterpretation: JSString = "channelInterpretation" @usableFromInline static let charCode: JSString = "charCode" @usableFromInline static let characterData: JSString = "characterData" @usableFromInline static let characterDataOldValue: JSString = "characterDataOldValue" @@ -16652,7 +18841,11 @@ public enum console { @usableFromInline static let composedPath: JSString = "composedPath" @usableFromInline static let composite: JSString = "composite" @usableFromInline static let computedOffset: JSString = "computedOffset" + @usableFromInline static let coneInnerAngle: JSString = "coneInnerAngle" + @usableFromInline static let coneOuterAngle: JSString = "coneOuterAngle" + @usableFromInline static let coneOuterGain: JSString = "coneOuterGain" @usableFromInline static let confirm: JSString = "confirm" + @usableFromInline static let connect: JSString = "connect" @usableFromInline static let console: JSString = "console" @usableFromInline static let constraint: JSString = "constraint" @usableFromInline static let contains: JSString = "contains" @@ -16661,6 +18854,8 @@ public enum console { @usableFromInline static let contentEditable: JSString = "contentEditable" @usableFromInline static let contentType: JSString = "contentType" @usableFromInline static let contentWindow: JSString = "contentWindow" + @usableFromInline static let context: JSString = "context" + @usableFromInline static let contextTime: JSString = "contextTime" @usableFromInline static let control: JSString = "control" @usableFromInline static let controller: JSString = "controller" @usableFromInline static let controls: JSString = "controls" @@ -16668,33 +18863,57 @@ public enum console { @usableFromInline static let cookie: JSString = "cookie" @usableFromInline static let cookieEnabled: JSString = "cookieEnabled" @usableFromInline static let coords: JSString = "coords" + @usableFromInline static let copyFromChannel: JSString = "copyFromChannel" + @usableFromInline static let copyToChannel: JSString = "copyToChannel" @usableFromInline static let count: JSString = "count" @usableFromInline static let countReset: JSString = "countReset" + @usableFromInline static let createAnalyser: JSString = "createAnalyser" @usableFromInline static let createAttribute: JSString = "createAttribute" @usableFromInline static let createAttributeNS: JSString = "createAttributeNS" + @usableFromInline static let createBiquadFilter: JSString = "createBiquadFilter" + @usableFromInline static let createBuffer: JSString = "createBuffer" + @usableFromInline static let createBufferSource: JSString = "createBufferSource" @usableFromInline static let createCDATASection: JSString = "createCDATASection" @usableFromInline static let createCaption: JSString = "createCaption" + @usableFromInline static let createChannelMerger: JSString = "createChannelMerger" + @usableFromInline static let createChannelSplitter: JSString = "createChannelSplitter" @usableFromInline static let createComment: JSString = "createComment" @usableFromInline static let createConicGradient: JSString = "createConicGradient" + @usableFromInline static let createConstantSource: JSString = "createConstantSource" + @usableFromInline static let createConvolver: JSString = "createConvolver" + @usableFromInline static let createDelay: JSString = "createDelay" @usableFromInline static let createDocument: JSString = "createDocument" @usableFromInline static let createDocumentFragment: JSString = "createDocumentFragment" @usableFromInline static let createDocumentType: JSString = "createDocumentType" + @usableFromInline static let createDynamicsCompressor: JSString = "createDynamicsCompressor" @usableFromInline static let createElement: JSString = "createElement" @usableFromInline static let createElementNS: JSString = "createElementNS" @usableFromInline static let createEvent: JSString = "createEvent" + @usableFromInline static let createGain: JSString = "createGain" @usableFromInline static let createHTMLDocument: JSString = "createHTMLDocument" + @usableFromInline static let createIIRFilter: JSString = "createIIRFilter" @usableFromInline static let createImageBitmap: JSString = "createImageBitmap" @usableFromInline static let createImageData: JSString = "createImageData" @usableFromInline static let createLinearGradient: JSString = "createLinearGradient" + @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 createObjectURL: JSString = "createObjectURL" + @usableFromInline static let createOscillator: JSString = "createOscillator" + @usableFromInline static let createPanner: JSString = "createPanner" @usableFromInline static let createPattern: JSString = "createPattern" + @usableFromInline static let createPeriodicWave: JSString = "createPeriodicWave" @usableFromInline static let createProcessingInstruction: JSString = "createProcessingInstruction" @usableFromInline static let createRadialGradient: JSString = "createRadialGradient" @usableFromInline static let createRange: JSString = "createRange" + @usableFromInline static let createScriptProcessor: JSString = "createScriptProcessor" + @usableFromInline static let createStereoPanner: JSString = "createStereoPanner" @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 createWaveShaper: JSString = "createWaveShaper" @usableFromInline static let credentials: JSString = "credentials" @usableFromInline static let crossOrigin: JSString = "crossOrigin" @usableFromInline static let crossOriginIsolated: JSString = "crossOriginIsolated" @@ -16706,6 +18925,7 @@ public enum console { @usableFromInline static let currentSrc: JSString = "currentSrc" @usableFromInline static let currentTarget: JSString = "currentTarget" @usableFromInline static let currentTime: JSString = "currentTime" + @usableFromInline static let curve: JSString = "curve" @usableFromInline static let customElements: JSString = "customElements" @usableFromInline static let customError: JSString = "customError" @usableFromInline static let d: JSString = "d" @@ -16728,6 +18948,7 @@ public enum console { @usableFromInline static let `defer`: JSString = "defer" @usableFromInline static let define: JSString = "define" @usableFromInline static let delay: JSString = "delay" + @usableFromInline static let delayTime: JSString = "delayTime" @usableFromInline static let delegatesFocus: JSString = "delegatesFocus" @usableFromInline static let delete: JSString = "delete" @usableFromInline static let deleteCaption: JSString = "deleteCaption" @@ -16748,15 +18969,18 @@ public enum console { @usableFromInline static let desynchronized: JSString = "desynchronized" @usableFromInline static let detach: JSString = "detach" @usableFromInline static let detail: JSString = "detail" + @usableFromInline static let detune: JSString = "detune" @usableFromInline static let deviceId: JSString = "deviceId" @usableFromInline static let dir: JSString = "dir" @usableFromInline static let dirName: JSString = "dirName" @usableFromInline static let direction: JSString = "direction" @usableFromInline static let dirxml: JSString = "dirxml" @usableFromInline static let disable: JSString = "disable" + @usableFromInline static let disableNormalization: JSString = "disableNormalization" @usableFromInline static let disabled: JSString = "disabled" @usableFromInline static let disconnect: JSString = "disconnect" @usableFromInline static let dispatchEvent: JSString = "dispatchEvent" + @usableFromInline static let distanceModel: JSString = "distanceModel" @usableFromInline static let doctype: JSString = "doctype" @usableFromInline static let document: JSString = "document" @usableFromInline static let documentElement: JSString = "documentElement" @@ -16800,6 +19024,7 @@ public enum console { @usableFromInline static let eventPhase: JSString = "eventPhase" @usableFromInline static let exact: JSString = "exact" @usableFromInline static let execCommand: JSString = "execCommand" + @usableFromInline static let exponentialRampToValueAtTime: JSString = "exponentialRampToValueAtTime" @usableFromInline static let extends: JSString = "extends" @usableFromInline static let external: JSString = "external" @usableFromInline static let extractContents: JSString = "extractContents" @@ -16807,7 +19032,10 @@ public enum console { @usableFromInline static let face: JSString = "face" @usableFromInline static let facingMode: JSString = "facingMode" @usableFromInline static let fastSeek: JSString = "fastSeek" + @usableFromInline static let feedback: JSString = "feedback" + @usableFromInline static let feedforward: JSString = "feedforward" @usableFromInline static let fetch: JSString = "fetch" + @usableFromInline static let fftSize: JSString = "fftSize" @usableFromInline static let fgColor: JSString = "fgColor" @usableFromInline static let filename: JSString = "filename" @usableFromInline static let files: JSString = "files" @@ -16840,17 +19068,23 @@ public enum console { @usableFromInline static let formTarget: JSString = "formTarget" @usableFromInline static let forms: JSString = "forms" @usableFromInline static let forward: JSString = "forward" + @usableFromInline static let forwardX: JSString = "forwardX" + @usableFromInline static let forwardY: JSString = "forwardY" + @usableFromInline static let forwardZ: JSString = "forwardZ" @usableFromInline static let frame: JSString = "frame" @usableFromInline static let frameBorder: JSString = "frameBorder" @usableFromInline static let frameElement: JSString = "frameElement" @usableFromInline static let frameRate: JSString = "frameRate" @usableFromInline static let frames: JSString = "frames" + @usableFromInline static let frequency: JSString = "frequency" + @usableFromInline static let frequencyBinCount: JSString = "frequencyBinCount" @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 gain: JSString = "gain" @usableFromInline static let get: JSString = "get" @usableFromInline static let getAll: JSString = "getAll" @usableFromInline static let getAllResponseHeaders: JSString = "getAllResponseHeaders" @@ -16863,7 +19097,10 @@ public enum console { @usableFromInline static let getAttributeNodeNS: JSString = "getAttributeNodeNS" @usableFromInline static let getAudioTracks: JSString = "getAudioTracks" @usableFromInline static let getBounds: JSString = "getBounds" + @usableFromInline static let getByteFrequencyData: JSString = "getByteFrequencyData" + @usableFromInline static let getByteTimeDomainData: JSString = "getByteTimeDomainData" @usableFromInline static let getCapabilities: JSString = "getCapabilities" + @usableFromInline static let getChannelData: JSString = "getChannelData" @usableFromInline static let getComputedTiming: JSString = "getComputedTiming" @usableFromInline static let getConstraints: JSString = "getConstraints" @usableFromInline static let getContext: JSString = "getContext" @@ -16875,11 +19112,15 @@ public enum console { @usableFromInline static let getElementsByName: JSString = "getElementsByName" @usableFromInline static let getElementsByTagName: JSString = "getElementsByTagName" @usableFromInline static let getElementsByTagNameNS: JSString = "getElementsByTagNameNS" + @usableFromInline static let getFloatFrequencyData: JSString = "getFloatFrequencyData" + @usableFromInline static let getFloatTimeDomainData: JSString = "getFloatTimeDomainData" + @usableFromInline static let getFrequencyResponse: JSString = "getFrequencyResponse" @usableFromInline static let getImageData: JSString = "getImageData" @usableFromInline static let getKeyframes: JSString = "getKeyframes" @usableFromInline static let getLineDash: JSString = "getLineDash" @usableFromInline static let getModifierState: JSString = "getModifierState" @usableFromInline static let getNamedItemNS: JSString = "getNamedItemNS" + @usableFromInline static let getOutputTimestamp: JSString = "getOutputTimestamp" @usableFromInline static let getParameter: JSString = "getParameter" @usableFromInline static let getReader: JSString = "getReader" @usableFromInline static let getRegistration: JSString = "getRegistration" @@ -16937,6 +19178,7 @@ public enum console { @usableFromInline static let ignoreMethod: JSString = "ignoreMethod" @usableFromInline static let ignoreSearch: JSString = "ignoreSearch" @usableFromInline static let ignoreVary: JSString = "ignoreVary" + @usableFromInline static let imag: JSString = "imag" @usableFromInline static let imageOrientation: JSString = "imageOrientation" @usableFromInline static let imageSizes: JSString = "imageSizes" @usableFromInline static let imageSmoothingEnabled: JSString = "imageSmoothingEnabled" @@ -16962,6 +19204,7 @@ public enum console { @usableFromInline static let initStorageEvent: JSString = "initStorageEvent" @usableFromInline static let initUIEvent: JSString = "initUIEvent" @usableFromInline static let innerText: JSString = "innerText" + @usableFromInline static let inputBuffer: JSString = "inputBuffer" @usableFromInline static let inputEncoding: JSString = "inputEncoding" @usableFromInline static let inputMode: JSString = "inputMode" @usableFromInline static let inputType: JSString = "inputType" @@ -17008,6 +19251,7 @@ public enum console { @usableFromInline static let keyCode: JSString = "keyCode" @usableFromInline static let keys: JSString = "keys" @usableFromInline static let kind: JSString = "kind" + @usableFromInline static let knee: JSString = "knee" @usableFromInline static let label: JSString = "label" @usableFromInline static let labels: JSString = "labels" @usableFromInline static let lang: JSString = "lang" @@ -17018,6 +19262,7 @@ public enum console { @usableFromInline static let lastEventId: JSString = "lastEventId" @usableFromInline static let lastModified: JSString = "lastModified" @usableFromInline static let latency: JSString = "latency" + @usableFromInline static let latencyHint: JSString = "latencyHint" @usableFromInline static let left: JSString = "left" @usableFromInline static let length: JSString = "length" @usableFromInline static let lengthComputable: JSString = "lengthComputable" @@ -17027,11 +19272,13 @@ public enum console { @usableFromInline static let lineJoin: JSString = "lineJoin" @usableFromInline static let lineTo: JSString = "lineTo" @usableFromInline static let lineWidth: JSString = "lineWidth" + @usableFromInline static let linearRampToValueAtTime: JSString = "linearRampToValueAtTime" @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 listener: JSString = "listener" @usableFromInline static let load: JSString = "load" @usableFromInline static let loaded: JSString = "loaded" @usableFromInline static let loading: JSString = "loading" @@ -17045,6 +19292,8 @@ public enum console { @usableFromInline static let lookupNamespaceURI: JSString = "lookupNamespaceURI" @usableFromInline static let lookupPrefix: JSString = "lookupPrefix" @usableFromInline static let loop: JSString = "loop" + @usableFromInline static let loopEnd: JSString = "loopEnd" + @usableFromInline static let loopStart: JSString = "loopStart" @usableFromInline static let low: JSString = "low" @usableFromInline static let lowsrc: JSString = "lowsrc" @usableFromInline static let m11: JSString = "m11" @@ -17070,17 +19319,27 @@ public enum console { @usableFromInline static let matches: JSString = "matches" @usableFromInline static let matrixTransform: JSString = "matrixTransform" @usableFromInline static let max: JSString = "max" + @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 maxLength: JSString = "maxLength" + @usableFromInline static let maxValue: JSString = "maxValue" @usableFromInline static let measureText: JSString = "measureText" @usableFromInline static let media: JSString = "media" @usableFromInline static let mediaDevices: JSString = "mediaDevices" + @usableFromInline static let mediaElement: JSString = "mediaElement" + @usableFromInline static let mediaStream: JSString = "mediaStream" + @usableFromInline static let mediaStreamTrack: JSString = "mediaStreamTrack" @usableFromInline static let menubar: JSString = "menubar" @usableFromInline static let message: JSString = "message" @usableFromInline static let metaKey: JSString = "metaKey" @usableFromInline static let method: JSString = "method" @usableFromInline static let mimeTypes: JSString = "mimeTypes" @usableFromInline static let min: JSString = "min" + @usableFromInline static let minDecibels: JSString = "minDecibels" @usableFromInline static let minLength: JSString = "minLength" + @usableFromInline static let minValue: JSString = "minValue" @usableFromInline static let miterLimit: JSString = "miterLimit" @usableFromInline static let mode: JSString = "mode" @usableFromInline static let modifierAltGraph: JSString = "modifierAltGraph" @@ -17124,6 +19383,9 @@ public enum console { @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 numberOfInputs: JSString = "numberOfInputs" + @usableFromInline static let numberOfOutputs: JSString = "numberOfOutputs" @usableFromInline static let numberValue: JSString = "numberValue" @usableFromInline static let observe: JSString = "observe" @usableFromInline static let offset: JSString = "offset" @@ -17134,6 +19396,7 @@ public enum console { @usableFromInline static let onabort: JSString = "onabort" @usableFromInline static let onaddtrack: JSString = "onaddtrack" @usableFromInline static let onafterprint: JSString = "onafterprint" + @usableFromInline static let onaudioprocess: JSString = "onaudioprocess" @usableFromInline static let onauxclick: JSString = "onauxclick" @usableFromInline static let onbeforeprint: JSString = "onbeforeprint" @usableFromInline static let onbeforeunload: JSString = "onbeforeunload" @@ -17145,6 +19408,7 @@ public enum console { @usableFromInline static let onchange: JSString = "onchange" @usableFromInline static let onclick: JSString = "onclick" @usableFromInline static let onclose: JSString = "onclose" + @usableFromInline static let oncomplete: JSString = "oncomplete" @usableFromInline static let oncontextlost: JSString = "oncontextlost" @usableFromInline static let oncontextmenu: JSString = "oncontextmenu" @usableFromInline static let oncontextrestored: JSString = "oncontextrestored" @@ -17202,6 +19466,7 @@ public enum console { @usableFromInline static let onplay: JSString = "onplay" @usableFromInline static let onplaying: JSString = "onplaying" @usableFromInline static let onpopstate: JSString = "onpopstate" + @usableFromInline static let onprocessorerror: JSString = "onprocessorerror" @usableFromInline static let onprogress: JSString = "onprogress" @usableFromInline static let onratechange: JSString = "onratechange" @usableFromInline static let onreadystatechange: JSString = "onreadystatechange" @@ -17240,19 +19505,30 @@ public enum console { @usableFromInline static let opener: JSString = "opener" @usableFromInline static let optimum: JSString = "optimum" @usableFromInline static let options: JSString = "options" + @usableFromInline static let orientationX: JSString = "orientationX" + @usableFromInline static let orientationY: JSString = "orientationY" + @usableFromInline static let orientationZ: JSString = "orientationZ" @usableFromInline static let origin: JSString = "origin" @usableFromInline static let originAgentCluster: JSString = "originAgentCluster" @usableFromInline static let originTime: JSString = "originTime" @usableFromInline static let oscpu: JSString = "oscpu" @usableFromInline static let outerText: JSString = "outerText" + @usableFromInline static let outputBuffer: JSString = "outputBuffer" + @usableFromInline static let outputChannelCount: JSString = "outputChannelCount" + @usableFromInline static let outputLatency: JSString = "outputLatency" @usableFromInline static let overrideMimeType: JSString = "overrideMimeType" + @usableFromInline static let oversample: JSString = "oversample" @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 pan: JSString = "pan" @usableFromInline static let panTiltZoom: JSString = "panTiltZoom" + @usableFromInline static let panningModel: JSString = "panningModel" + @usableFromInline static let parameterData: JSString = "parameterData" + @usableFromInline static let parameters: JSString = "parameters" @usableFromInline static let parent: JSString = "parent" @usableFromInline static let parentElement: JSString = "parentElement" @usableFromInline static let parentNode: JSString = "parentNode" @@ -17268,6 +19544,8 @@ public enum console { @usableFromInline static let pdfViewerEnabled: JSString = "pdfViewerEnabled" @usableFromInline static let pending: JSString = "pending" @usableFromInline static let performance: JSString = "performance" + @usableFromInline static let performanceTime: JSString = "performanceTime" + @usableFromInline static let periodicWave: JSString = "periodicWave" @usableFromInline static let persist: JSString = "persist" @usableFromInline static let persisted: JSString = "persisted" @usableFromInline static let personalbar: JSString = "personalbar" @@ -17280,6 +19558,7 @@ public enum console { @usableFromInline static let play: JSString = "play" @usableFromInline static let playState: JSString = "playState" @usableFromInline static let playbackRate: JSString = "playbackRate" + @usableFromInline static let playbackTime: JSString = "playbackTime" @usableFromInline static let played: JSString = "played" @usableFromInline static let playsInline: JSString = "playsInline" @usableFromInline static let plugins: JSString = "plugins" @@ -17289,6 +19568,9 @@ public enum console { @usableFromInline static let port2: JSString = "port2" @usableFromInline static let ports: JSString = "ports" @usableFromInline static let position: JSString = "position" + @usableFromInline static let positionX: JSString = "positionX" + @usableFromInline static let positionY: JSString = "positionY" + @usableFromInline static let positionZ: JSString = "positionZ" @usableFromInline static let postMessage: JSString = "postMessage" @usableFromInline static let poster: JSString = "poster" @usableFromInline static let preMultiplySelf: JSString = "preMultiplySelf" @@ -17308,6 +19590,7 @@ public enum console { @usableFromInline static let previousNode: JSString = "previousNode" @usableFromInline static let previousSibling: JSString = "previousSibling" @usableFromInline static let print: JSString = "print" + @usableFromInline static let processorOptions: JSString = "processorOptions" @usableFromInline static let product: JSString = "product" @usableFromInline static let productSub: JSString = "productSub" @usableFromInline static let progress: JSString = "progress" @@ -17331,6 +19614,7 @@ public enum console { @usableFromInline static let querySelectorAll: JSString = "querySelectorAll" @usableFromInline static let rangeOverflow: JSString = "rangeOverflow" @usableFromInline static let rangeUnderflow: JSString = "rangeUnderflow" + @usableFromInline static let ratio: JSString = "ratio" @usableFromInline static let read: JSString = "read" @usableFromInline static let readAsArrayBuffer: JSString = "readAsArrayBuffer" @usableFromInline static let readAsBinaryString: JSString = "readAsBinaryString" @@ -17341,10 +19625,13 @@ public enum console { @usableFromInline static let readableType: JSString = "readableType" @usableFromInline static let ready: JSString = "ready" @usableFromInline static let readyState: JSString = "readyState" + @usableFromInline static let real: JSString = "real" @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 reduction: JSString = "reduction" + @usableFromInline static let refDistance: JSString = "refDistance" @usableFromInline static let referenceNode: JSString = "referenceNode" @usableFromInline static let referrer: JSString = "referrer" @usableFromInline static let referrerPolicy: JSString = "referrerPolicy" @@ -17355,6 +19642,7 @@ public enum console { @usableFromInline static let relList: JSString = "relList" @usableFromInline static let relatedNode: JSString = "relatedNode" @usableFromInline static let relatedTarget: JSString = "relatedTarget" + @usableFromInline static let release: JSString = "release" @usableFromInline static let releaseEvents: JSString = "releaseEvents" @usableFromInline static let releaseLock: JSString = "releaseLock" @usableFromInline static let reload: JSString = "reload" @@ -17369,6 +19657,7 @@ public enum console { @usableFromInline static let removeParameter: JSString = "removeParameter" @usableFromInline static let removeTrack: JSString = "removeTrack" @usableFromInline static let removedNodes: JSString = "removedNodes" + @usableFromInline static let renderedBuffer: JSString = "renderedBuffer" @usableFromInline static let `repeat`: JSString = "repeat" @usableFromInline static let replace: JSString = "replace" @usableFromInline static let replaceChild: JSString = "replaceChild" @@ -17399,6 +19688,7 @@ public enum console { @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 reverse: JSString = "reverse" @@ -17406,6 +19696,7 @@ public enum console { @usableFromInline static let revokeObjectURL: JSString = "revokeObjectURL" @usableFromInline static let right: JSString = "right" @usableFromInline static let role: JSString = "role" + @usableFromInline static let rolloffFactor: JSString = "rolloffFactor" @usableFromInline static let root: JSString = "root" @usableFromInline static let rotate: JSString = "rotate" @usableFromInline static let rotateAxisAngle: JSString = "rotateAxisAngle" @@ -17475,16 +19766,22 @@ public enum console { @usableFromInline static let setMatrixValue: JSString = "setMatrixValue" @usableFromInline static let setNamedItem: JSString = "setNamedItem" @usableFromInline static let setNamedItemNS: JSString = "setNamedItemNS" + @usableFromInline static let setOrientation: JSString = "setOrientation" @usableFromInline static let setParameter: JSString = "setParameter" + @usableFromInline static let setPeriodicWave: JSString = "setPeriodicWave" + @usableFromInline static let setPosition: JSString = "setPosition" @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 setTargetAtTime: JSString = "setTargetAtTime" @usableFromInline static let setTimeout: JSString = "setTimeout" @usableFromInline static let setTransform: JSString = "setTransform" @usableFromInline static let setValidity: JSString = "setValidity" + @usableFromInline static let setValueAtTime: JSString = "setValueAtTime" + @usableFromInline static let setValueCurveAtTime: JSString = "setValueCurveAtTime" @usableFromInline static let shadowBlur: JSString = "shadowBlur" @usableFromInline static let shadowColor: JSString = "shadowColor" @usableFromInline static let shadowOffsetX: JSString = "shadowOffsetX" @@ -17506,6 +19803,7 @@ public enum console { @usableFromInline static let slice: JSString = "slice" @usableFromInline static let slot: JSString = "slot" @usableFromInline static let slotAssignment: JSString = "slotAssignment" + @usableFromInline static let smoothingTimeConstant: JSString = "smoothingTimeConstant" @usableFromInline static let snapshotItem: JSString = "snapshotItem" @usableFromInline static let snapshotLength: JSString = "snapshotLength" @usableFromInline static let sort: JSString = "sort" @@ -17524,6 +19822,7 @@ public enum console { @usableFromInline static let startContainer: JSString = "startContainer" @usableFromInline static let startMessages: JSString = "startMessages" @usableFromInline static let startOffset: JSString = "startOffset" + @usableFromInline static let startRendering: JSString = "startRendering" @usableFromInline static let startTime: JSString = "startTime" @usableFromInline static let state: JSString = "state" @usableFromInline static let status: JSString = "status" @@ -17537,6 +19836,7 @@ public enum console { @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 stringValue: JSString = "stringValue" @usableFromInline static let stroke: JSString = "stroke" @usableFromInline static let strokeRect: JSString = "strokeRect" @@ -17551,6 +19851,7 @@ public enum console { @usableFromInline static let summary: JSString = "summary" @usableFromInline static let supports: JSString = "supports" @usableFromInline static let surroundContents: JSString = "surroundContents" + @usableFromInline static let suspend: JSString = "suspend" @usableFromInline static let systemId: JSString = "systemId" @usableFromInline static let tBodies: JSString = "tBodies" @usableFromInline static let tFoot: JSString = "tFoot" @@ -17571,6 +19872,7 @@ public enum console { @usableFromInline static let textLength: JSString = "textLength" @usableFromInline static let textRendering: JSString = "textRendering" @usableFromInline static let textTracks: JSString = "textTracks" + @usableFromInline static let threshold: JSString = "threshold" @usableFromInline static let throwIfAborted: JSString = "throwIfAborted" @usableFromInline static let time: JSString = "time" @usableFromInline static let timeEnd: JSString = "timeEnd" @@ -17610,6 +19912,9 @@ public enum console { @usableFromInline static let types: JSString = "types" @usableFromInline static let unregister: JSString = "unregister" @usableFromInline static let unregisterProtocolHandler: JSString = "unregisterProtocolHandler" + @usableFromInline static let upX: JSString = "upX" + @usableFromInline static let upY: JSString = "upY" + @usableFromInline static let upZ: JSString = "upZ" @usableFromInline static let update: JSString = "update" @usableFromInline static let updatePlaybackRate: JSString = "updatePlaybackRate" @usableFromInline static let updateTiming: JSString = "updateTiming" @@ -17709,6 +20014,48 @@ public enum ArrayBuffer_or_String: JSValueCompatible, Any_ArrayBuffer_or_String } } +public protocol Any_AudioContextLatencyCategory_or_Double: ConvertibleToJSValue {} +extension AudioContextLatencyCategory: Any_AudioContextLatencyCategory_or_Double {} +extension Double: Any_AudioContextLatencyCategory_or_Double {} + +public enum AudioContextLatencyCategory_or_Double: JSValueCompatible, Any_AudioContextLatencyCategory_or_Double { + case audioContextLatencyCategory(AudioContextLatencyCategory) + case double(Double) + + var audioContextLatencyCategory: AudioContextLatencyCategory? { + switch self { + case let .audioContextLatencyCategory(audioContextLatencyCategory): return audioContextLatencyCategory + default: return nil + } + } + + var double: Double? { + switch self { + case let .double(double): return double + default: return nil + } + } + + public static func construct(from value: JSValue) -> Self? { + if let audioContextLatencyCategory: AudioContextLatencyCategory = value.fromJSValue() { + return .audioContextLatencyCategory(audioContextLatencyCategory) + } + 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 + } + } +} + 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 {} diff --git a/parse-idl/parse-all.js b/parse-idl/parse-all.js index 08b8be31..443e3e9a 100644 --- a/parse-idl/parse-all.js +++ b/parse-idl/parse-all.js @@ -24,6 +24,7 @@ console.log( "url", "streams", "mediacapture-streams", + "webaudio", ].map((key) => parsedFiles[key]), null, 2