@@ -1847,6 +1847,24 @@ public enum BiquadFilterType: JSString, JSValueCompatible {
1847
1847
@inlinable public var jsValue: JSValue { rawValue.jsValue }
1848
1848
}
1849
1849
1850
+ public enum BitrateMode: JSString, JSValueCompatible {
1851
+ case constant = "constant"
1852
+ case variable = "variable"
1853
+
1854
+ @inlinable public static func construct(from jsValue: JSValue) -> Self? {
1855
+ if let string = jsValue.jsString {
1856
+ return Self(rawValue: string)
1857
+ }
1858
+ return nil
1859
+ }
1860
+
1861
+ @inlinable public init?(string: String) {
1862
+ self.init(rawValue: JSString(string))
1863
+ }
1864
+
1865
+ @inlinable public var jsValue: JSValue { rawValue.jsValue }
1866
+ }
1867
+
1850
1868
public class Blob: JSBridgedClass {
1851
1869
@inlinable public class var constructor: JSFunction { JSObject.global[Strings.Blob].function! }
1852
1870
@@ -1900,6 +1918,47 @@ public class Blob: JSBridgedClass {
1900
1918
}
1901
1919
}
1902
1920
1921
+ public class BlobEvent: Event {
1922
+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.BlobEvent].function! }
1923
+
1924
+ public required init(unsafelyWrapping jsObject: JSObject) {
1925
+ _data = ReadonlyAttribute(jsObject: jsObject, name: Strings.data)
1926
+ _timecode = ReadonlyAttribute(jsObject: jsObject, name: Strings.timecode)
1927
+ super.init(unsafelyWrapping: jsObject)
1928
+ }
1929
+
1930
+ @inlinable public convenience init(type: String, eventInitDict: BlobEventInit) {
1931
+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue]))
1932
+ }
1933
+
1934
+ @ReadonlyAttribute
1935
+ public var data: Blob
1936
+
1937
+ @ReadonlyAttribute
1938
+ public var timecode: DOMHighResTimeStamp
1939
+ }
1940
+
1941
+ public class BlobEventInit: BridgedDictionary {
1942
+ public convenience init(data: Blob, timecode: DOMHighResTimeStamp) {
1943
+ let object = JSObject.global[Strings.Object].function!.new()
1944
+ object[Strings.data] = data.jsValue
1945
+ object[Strings.timecode] = timecode.jsValue
1946
+ self.init(unsafelyWrapping: object)
1947
+ }
1948
+
1949
+ public required init(unsafelyWrapping object: JSObject) {
1950
+ _data = ReadWriteAttribute(jsObject: object, name: Strings.data)
1951
+ _timecode = ReadWriteAttribute(jsObject: object, name: Strings.timecode)
1952
+ super.init(unsafelyWrapping: object)
1953
+ }
1954
+
1955
+ @ReadWriteAttribute
1956
+ public var data: Blob
1957
+
1958
+ @ReadWriteAttribute
1959
+ public var timecode: DOMHighResTimeStamp
1960
+ }
1961
+
1903
1962
public class BlobPropertyBag: BridgedDictionary {
1904
1963
public convenience init(type: String, endings: EndingType) {
1905
1964
let object = JSObject.global[Strings.Object].function!.new()
@@ -11795,6 +11854,164 @@ public class MediaQueryListEventInit: BridgedDictionary {
11795
11854
public var matches: Bool
11796
11855
}
11797
11856
11857
+ public class MediaRecorder: EventTarget {
11858
+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaRecorder].function! }
11859
+
11860
+ public required init(unsafelyWrapping jsObject: JSObject) {
11861
+ _stream = ReadonlyAttribute(jsObject: jsObject, name: Strings.stream)
11862
+ _mimeType = ReadonlyAttribute(jsObject: jsObject, name: Strings.mimeType)
11863
+ _state = ReadonlyAttribute(jsObject: jsObject, name: Strings.state)
11864
+ _onstart = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstart)
11865
+ _onstop = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onstop)
11866
+ _ondataavailable = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.ondataavailable)
11867
+ _onpause = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onpause)
11868
+ _onresume = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onresume)
11869
+ _onerror = ClosureAttribute1Optional(jsObject: jsObject, name: Strings.onerror)
11870
+ _videoBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.videoBitsPerSecond)
11871
+ _audioBitsPerSecond = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitsPerSecond)
11872
+ _audioBitrateMode = ReadonlyAttribute(jsObject: jsObject, name: Strings.audioBitrateMode)
11873
+ super.init(unsafelyWrapping: jsObject)
11874
+ }
11875
+
11876
+ @inlinable public convenience init(stream: MediaStream, options: MediaRecorderOptions? = nil) {
11877
+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [stream.jsValue, options?.jsValue ?? .undefined]))
11878
+ }
11879
+
11880
+ @ReadonlyAttribute
11881
+ public var stream: MediaStream
11882
+
11883
+ @ReadonlyAttribute
11884
+ public var mimeType: String
11885
+
11886
+ @ReadonlyAttribute
11887
+ public var state: RecordingState
11888
+
11889
+ @ClosureAttribute1Optional
11890
+ public var onstart: EventHandler
11891
+
11892
+ @ClosureAttribute1Optional
11893
+ public var onstop: EventHandler
11894
+
11895
+ @ClosureAttribute1Optional
11896
+ public var ondataavailable: EventHandler
11897
+
11898
+ @ClosureAttribute1Optional
11899
+ public var onpause: EventHandler
11900
+
11901
+ @ClosureAttribute1Optional
11902
+ public var onresume: EventHandler
11903
+
11904
+ @ClosureAttribute1Optional
11905
+ public var onerror: EventHandler
11906
+
11907
+ @ReadonlyAttribute
11908
+ public var videoBitsPerSecond: UInt32
11909
+
11910
+ @ReadonlyAttribute
11911
+ public var audioBitsPerSecond: UInt32
11912
+
11913
+ @ReadonlyAttribute
11914
+ public var audioBitrateMode: BitrateMode
11915
+
11916
+ @inlinable public func start(timeslice: UInt32? = nil) {
11917
+ let this = jsObject
11918
+ _ = this[Strings.start].function!(this: this, arguments: [timeslice?.jsValue ?? .undefined])
11919
+ }
11920
+
11921
+ @inlinable public func stop() {
11922
+ let this = jsObject
11923
+ _ = this[Strings.stop].function!(this: this, arguments: [])
11924
+ }
11925
+
11926
+ @inlinable public func pause() {
11927
+ let this = jsObject
11928
+ _ = this[Strings.pause].function!(this: this, arguments: [])
11929
+ }
11930
+
11931
+ @inlinable public func resume() {
11932
+ let this = jsObject
11933
+ _ = this[Strings.resume].function!(this: this, arguments: [])
11934
+ }
11935
+
11936
+ @inlinable public func requestData() {
11937
+ let this = jsObject
11938
+ _ = this[Strings.requestData].function!(this: this, arguments: [])
11939
+ }
11940
+
11941
+ @inlinable public static func isTypeSupported(type: String) -> Bool {
11942
+ let this = constructor
11943
+ return this[Strings.isTypeSupported].function!(this: this, arguments: [type.jsValue]).fromJSValue()!
11944
+ }
11945
+ }
11946
+
11947
+ public class MediaRecorderErrorEvent: Event {
11948
+ @inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaRecorderErrorEvent].function! }
11949
+
11950
+ public required init(unsafelyWrapping jsObject: JSObject) {
11951
+ _error = ReadonlyAttribute(jsObject: jsObject, name: Strings.error)
11952
+ super.init(unsafelyWrapping: jsObject)
11953
+ }
11954
+
11955
+ @inlinable public convenience init(type: String, eventInitDict: MediaRecorderErrorEventInit) {
11956
+ self.init(unsafelyWrapping: Self.constructor.new(arguments: [type.jsValue, eventInitDict.jsValue]))
11957
+ }
11958
+
11959
+ @ReadonlyAttribute
11960
+ public var error: DOMException
11961
+ }
11962
+
11963
+ public class MediaRecorderErrorEventInit: BridgedDictionary {
11964
+ public convenience init(error: DOMException) {
11965
+ let object = JSObject.global[Strings.Object].function!.new()
11966
+ object[Strings.error] = error.jsValue
11967
+ self.init(unsafelyWrapping: object)
11968
+ }
11969
+
11970
+ public required init(unsafelyWrapping object: JSObject) {
11971
+ _error = ReadWriteAttribute(jsObject: object, name: Strings.error)
11972
+ super.init(unsafelyWrapping: object)
11973
+ }
11974
+
11975
+ @ReadWriteAttribute
11976
+ public var error: DOMException
11977
+ }
11978
+
11979
+ public class MediaRecorderOptions: BridgedDictionary {
11980
+ public convenience init(mimeType: String, audioBitsPerSecond: UInt32, videoBitsPerSecond: UInt32, bitsPerSecond: UInt32, audioBitrateMode: BitrateMode) {
11981
+ let object = JSObject.global[Strings.Object].function!.new()
11982
+ object[Strings.mimeType] = mimeType.jsValue
11983
+ object[Strings.audioBitsPerSecond] = audioBitsPerSecond.jsValue
11984
+ object[Strings.videoBitsPerSecond] = videoBitsPerSecond.jsValue
11985
+ object[Strings.bitsPerSecond] = bitsPerSecond.jsValue
11986
+ object[Strings.audioBitrateMode] = audioBitrateMode.jsValue
11987
+ self.init(unsafelyWrapping: object)
11988
+ }
11989
+
11990
+ public required init(unsafelyWrapping object: JSObject) {
11991
+ _mimeType = ReadWriteAttribute(jsObject: object, name: Strings.mimeType)
11992
+ _audioBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.audioBitsPerSecond)
11993
+ _videoBitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.videoBitsPerSecond)
11994
+ _bitsPerSecond = ReadWriteAttribute(jsObject: object, name: Strings.bitsPerSecond)
11995
+ _audioBitrateMode = ReadWriteAttribute(jsObject: object, name: Strings.audioBitrateMode)
11996
+ super.init(unsafelyWrapping: object)
11997
+ }
11998
+
11999
+ @ReadWriteAttribute
12000
+ public var mimeType: String
12001
+
12002
+ @ReadWriteAttribute
12003
+ public var audioBitsPerSecond: UInt32
12004
+
12005
+ @ReadWriteAttribute
12006
+ public var videoBitsPerSecond: UInt32
12007
+
12008
+ @ReadWriteAttribute
12009
+ public var bitsPerSecond: UInt32
12010
+
12011
+ @ReadWriteAttribute
12012
+ public var audioBitrateMode: BitrateMode
12013
+ }
12014
+
11798
12015
public class MediaStream: EventTarget {
11799
12016
@inlinable override public class var constructor: JSFunction { JSObject.global[Strings.MediaStream].function! }
11800
12017
@@ -14962,6 +15179,25 @@ public class ReadableWritablePair: BridgedDictionary {
14962
15179
public var writable: WritableStream
14963
15180
}
14964
15181
15182
+ public enum RecordingState: JSString, JSValueCompatible {
15183
+ case inactive = "inactive"
15184
+ case recording = "recording"
15185
+ case paused = "paused"
15186
+
15187
+ @inlinable public static func construct(from jsValue: JSValue) -> Self? {
15188
+ if let string = jsValue.jsString {
15189
+ return Self(rawValue: string)
15190
+ }
15191
+ return nil
15192
+ }
15193
+
15194
+ @inlinable public init?(string: String) {
15195
+ self.init(rawValue: JSString(string))
15196
+ }
15197
+
15198
+ @inlinable public var jsValue: JSValue { rawValue.jsValue }
15199
+ }
15200
+
14965
15201
public enum ReferrerPolicy: JSString, JSValueCompatible {
14966
15202
case _empty = ""
14967
15203
case noReferrer = "no-referrer"
@@ -16688,11 +16924,11 @@ public typealias TransformerStartCallback = (TransformStreamDefaultController) -
16688
16924
public typealias TransformerFlushCallback = (TransformStreamDefaultController) -> JSPromise
16689
16925
public typealias TransformerTransformCallback = (JSValue, TransformStreamDefaultController) -> JSPromise
16690
16926
public typealias QueuingStrategySize = (JSValue) -> Double
16691
- public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void
16692
- public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void
16693
16927
public typealias DecodeErrorCallback = (DOMException) -> Void
16694
16928
public typealias DecodeSuccessCallback = (AudioBuffer) -> Void
16695
16929
public typealias AudioWorkletProcessCallback = ([[Float32Array]], [[Float32Array]], JSObject) -> Bool
16930
+ public typealias NavigatorUserMediaSuccessCallback = (MediaStream) -> Void
16931
+ public typealias NavigatorUserMediaErrorCallback = (DOMException) -> Void
16696
16932
public class UIEvent: Event {
16697
16933
@inlinable override public class var constructor: JSFunction { JSObject.global[Strings.UIEvent].function! }
16698
16934
@@ -19121,6 +19357,7 @@ public enum console {
19121
19357
@usableFromInline static let BeforeUnloadEvent: JSString = "BeforeUnloadEvent"
19122
19358
@usableFromInline static let BiquadFilterNode: JSString = "BiquadFilterNode"
19123
19359
@usableFromInline static let Blob: JSString = "Blob"
19360
+ @usableFromInline static let BlobEvent: JSString = "BlobEvent"
19124
19361
@usableFromInline static let BroadcastChannel: JSString = "BroadcastChannel"
19125
19362
@usableFromInline static let ByteLengthQueuingStrategy: JSString = "ByteLengthQueuingStrategy"
19126
19363
@usableFromInline static let CDATASection: JSString = "CDATASection"
@@ -19275,6 +19512,8 @@ public enum console {
19275
19512
@usableFromInline static let MediaError: JSString = "MediaError"
19276
19513
@usableFromInline static let MediaQueryList: JSString = "MediaQueryList"
19277
19514
@usableFromInline static let MediaQueryListEvent: JSString = "MediaQueryListEvent"
19515
+ @usableFromInline static let MediaRecorder: JSString = "MediaRecorder"
19516
+ @usableFromInline static let MediaRecorderErrorEvent: JSString = "MediaRecorderErrorEvent"
19278
19517
@usableFromInline static let MediaStream: JSString = "MediaStream"
19279
19518
@usableFromInline static let MediaStreamAudioDestinationNode: JSString = "MediaStreamAudioDestinationNode"
19280
19519
@usableFromInline static let MediaStreamAudioSourceNode: JSString = "MediaStreamAudioSourceNode"
@@ -19486,6 +19725,8 @@ public enum console {
19486
19725
@usableFromInline static let attributeOldValue: JSString = "attributeOldValue"
19487
19726
@usableFromInline static let attributes: JSString = "attributes"
19488
19727
@usableFromInline static let audio: JSString = "audio"
19728
+ @usableFromInline static let audioBitrateMode: JSString = "audioBitrateMode"
19729
+ @usableFromInline static let audioBitsPerSecond: JSString = "audioBitsPerSecond"
19489
19730
@usableFromInline static let audioTracks: JSString = "audioTracks"
19490
19731
@usableFromInline static let audioWorklet: JSString = "audioWorklet"
19491
19732
@usableFromInline static let autoAllocateChunkSize: JSString = "autoAllocateChunkSize"
@@ -19510,6 +19751,7 @@ public enum console {
19510
19751
@usableFromInline static let bezierCurveTo: JSString = "bezierCurveTo"
19511
19752
@usableFromInline static let bgColor: JSString = "bgColor"
19512
19753
@usableFromInline static let binaryType: JSString = "binaryType"
19754
+ @usableFromInline static let bitsPerSecond: JSString = "bitsPerSecond"
19513
19755
@usableFromInline static let blob: JSString = "blob"
19514
19756
@usableFromInline static let block: JSString = "block"
19515
19757
@usableFromInline static let blocking: JSString = "blocking"
@@ -20031,6 +20273,7 @@ public enum console {
20031
20273
@usableFromInline static let isSameNode: JSString = "isSameNode"
20032
20274
@usableFromInline static let isSecureContext: JSString = "isSecureContext"
20033
20275
@usableFromInline static let isTrusted: JSString = "isTrusted"
20276
+ @usableFromInline static let isTypeSupported: JSString = "isTypeSupported"
20034
20277
@usableFromInline static let isVisible: JSString = "isVisible"
20035
20278
@usableFromInline static let item: JSString = "item"
20036
20279
@usableFromInline static let items: JSString = "items"
@@ -20129,6 +20372,7 @@ public enum console {
20129
20372
@usableFromInline static let message: JSString = "message"
20130
20373
@usableFromInline static let metaKey: JSString = "metaKey"
20131
20374
@usableFromInline static let method: JSString = "method"
20375
+ @usableFromInline static let mimeType: JSString = "mimeType"
20132
20376
@usableFromInline static let mimeTypes: JSString = "mimeTypes"
20133
20377
@usableFromInline static let min: JSString = "min"
20134
20378
@usableFromInline static let minDecibels: JSString = "minDecibels"
@@ -20219,6 +20463,7 @@ public enum console {
20219
20463
@usableFromInline static let oncopy: JSString = "oncopy"
20220
20464
@usableFromInline static let oncuechange: JSString = "oncuechange"
20221
20465
@usableFromInline static let oncut: JSString = "oncut"
20466
+ @usableFromInline static let ondataavailable: JSString = "ondataavailable"
20222
20467
@usableFromInline static let ondblclick: JSString = "ondblclick"
20223
20468
@usableFromInline static let ondevicechange: JSString = "ondevicechange"
20224
20469
@usableFromInline static let ondrag: JSString = "ondrag"
@@ -20278,14 +20523,17 @@ public enum console {
20278
20523
@usableFromInline static let onremovetrack: JSString = "onremovetrack"
20279
20524
@usableFromInline static let onreset: JSString = "onreset"
20280
20525
@usableFromInline static let onresize: JSString = "onresize"
20526
+ @usableFromInline static let onresume: JSString = "onresume"
20281
20527
@usableFromInline static let onscroll: JSString = "onscroll"
20282
20528
@usableFromInline static let onsecuritypolicyviolation: JSString = "onsecuritypolicyviolation"
20283
20529
@usableFromInline static let onseeked: JSString = "onseeked"
20284
20530
@usableFromInline static let onseeking: JSString = "onseeking"
20285
20531
@usableFromInline static let onselect: JSString = "onselect"
20286
20532
@usableFromInline static let onslotchange: JSString = "onslotchange"
20287
20533
@usableFromInline static let onstalled: JSString = "onstalled"
20534
+ @usableFromInline static let onstart: JSString = "onstart"
20288
20535
@usableFromInline static let onstatechange: JSString = "onstatechange"
20536
+ @usableFromInline static let onstop: JSString = "onstop"
20289
20537
@usableFromInline static let onstorage: JSString = "onstorage"
20290
20538
@usableFromInline static let onsubmit: JSString = "onsubmit"
20291
20539
@usableFromInline static let onsuspend: JSString = "onsuspend"
@@ -20481,6 +20729,7 @@ public enum console {
20481
20729
@usableFromInline static let reportError: JSString = "reportError"
20482
20730
@usableFromInline static let reportValidity: JSString = "reportValidity"
20483
20731
@usableFromInline static let request: JSString = "request"
20732
+ @usableFromInline static let requestData: JSString = "requestData"
20484
20733
@usableFromInline static let requestSubmit: JSString = "requestSubmit"
20485
20734
@usableFromInline static let required: JSString = "required"
20486
20735
@usableFromInline static let reset: JSString = "reset"
@@ -20707,6 +20956,7 @@ public enum console {
20707
20956
@usableFromInline static let timeLog: JSString = "timeLog"
20708
20957
@usableFromInline static let timeOrigin: JSString = "timeOrigin"
20709
20958
@usableFromInline static let timeStamp: JSString = "timeStamp"
20959
+ @usableFromInline static let timecode: JSString = "timecode"
20710
20960
@usableFromInline static let timeline: JSString = "timeline"
20711
20961
@usableFromInline static let timeout: JSString = "timeout"
20712
20962
@usableFromInline static let title: JSString = "title"
@@ -20768,6 +21018,7 @@ public enum console {
20768
21018
@usableFromInline static let vendorSub: JSString = "vendorSub"
20769
21019
@usableFromInline static let version: JSString = "version"
20770
21020
@usableFromInline static let video: JSString = "video"
21021
+ @usableFromInline static let videoBitsPerSecond: JSString = "videoBitsPerSecond"
20771
21022
@usableFromInline static let videoHeight: JSString = "videoHeight"
20772
21023
@usableFromInline static let videoTracks: JSString = "videoTracks"
20773
21024
@usableFromInline static let videoWidth: JSString = "videoWidth"
0 commit comments