@rescript/webapi 0.1.0-experimental-29b94b3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +14 -0
  3. package/package.json +38 -0
  4. package/rescript.json +19 -0
  5. package/src/CSSFontLoadingAPI/FontFace.res +34 -0
  6. package/src/CSSFontLoadingAPI/FontFaceSet.res +112 -0
  7. package/src/CSSFontLoadingAPI.res +101 -0
  8. package/src/CanvasAPI/ImageBitmap.res +8 -0
  9. package/src/CanvasAPI/OffscreenCanvas.res +123 -0
  10. package/src/CanvasAPI.res +55 -0
  11. package/src/ChannelMessagingAPI/MessagePort.res +120 -0
  12. package/src/ChannelMessagingAPI.res +13 -0
  13. package/src/ClipboardAPI/Clipboard.res +106 -0
  14. package/src/ClipboardAPI/ClipboardItem.res +21 -0
  15. package/src/ClipboardAPI.res +31 -0
  16. package/src/CredentialManagementAPI/CredentialsContainer.res +31 -0
  17. package/src/CredentialManagementAPI.res +140 -0
  18. package/src/DOMAPI/Animation.res +137 -0
  19. package/src/DOMAPI/AnimationEffect.res +19 -0
  20. package/src/DOMAPI/CSSRuleList.res +7 -0
  21. package/src/DOMAPI/CSSStyleDeclaration.res +36 -0
  22. package/src/DOMAPI/CSSStyleSheet.res +32 -0
  23. package/src/DOMAPI/CSSStyleValue.res +13 -0
  24. package/src/DOMAPI/CaretPosition.res +4 -0
  25. package/src/DOMAPI/CharacterData.res +272 -0
  26. package/src/DOMAPI/Comment.res +278 -0
  27. package/src/DOMAPI/CustomElementRegistry.res +31 -0
  28. package/src/DOMAPI/DOMImplementation.res +30 -0
  29. package/src/DOMAPI/DOMMatrix.res +169 -0
  30. package/src/DOMAPI/DOMMatrixReadOnly.res +103 -0
  31. package/src/DOMAPI/DOMPoint.res +29 -0
  32. package/src/DOMAPI/DOMPointReadOnly.res +24 -0
  33. package/src/DOMAPI/DOMRect.res +23 -0
  34. package/src/DOMAPI/DOMRectList.res +4 -0
  35. package/src/DOMAPI/DOMRectReadOnly.res +17 -0
  36. package/src/DOMAPI/DOMTokenList.res +72 -0
  37. package/src/DOMAPI/Document.res +634 -0
  38. package/src/DOMAPI/DocumentFragment.res +261 -0
  39. package/src/DOMAPI/DocumentTimeline.res +9 -0
  40. package/src/DOMAPI/Element.res +634 -0
  41. package/src/DOMAPI/ElementInternals.res +39 -0
  42. package/src/DOMAPI/FileList.res +8 -0
  43. package/src/DOMAPI/HTMLAnchorElement.res +693 -0
  44. package/src/DOMAPI/HTMLAreaElement.res +687 -0
  45. package/src/DOMAPI/HTMLAudioElement.res +750 -0
  46. package/src/DOMAPI/HTMLBRElement.res +686 -0
  47. package/src/DOMAPI/HTMLBaseElement.res +687 -0
  48. package/src/DOMAPI/HTMLBodyElement.res +687 -0
  49. package/src/DOMAPI/HTMLButtonElement.res +714 -0
  50. package/src/DOMAPI/HTMLCanvasElement.res +741 -0
  51. package/src/DOMAPI/HTMLCollection.res +15 -0
  52. package/src/DOMAPI/HTMLCollectionOf.res +16 -0
  53. package/src/DOMAPI/HTMLDListElement.res +690 -0
  54. package/src/DOMAPI/HTMLDataElement.res +687 -0
  55. package/src/DOMAPI/HTMLDataListElement.res +697 -0
  56. package/src/DOMAPI/HTMLDialogElement.res +715 -0
  57. package/src/DOMAPI/HTMLDivElement.res +686 -0
  58. package/src/DOMAPI/HTMLElement.res +685 -0
  59. package/src/DOMAPI/HTMLEmbedElement.res +693 -0
  60. package/src/DOMAPI/HTMLFieldSetElement.res +718 -0
  61. package/src/DOMAPI/HTMLFormControlsCollection.res +16 -0
  62. package/src/DOMAPI/HTMLFormElement.res +720 -0
  63. package/src/DOMAPI/HTMLFrameSetElement.res +697 -0
  64. package/src/DOMAPI/HTMLHRElement.res +686 -0
  65. package/src/DOMAPI/HTMLHeadElement.res +687 -0
  66. package/src/DOMAPI/HTMLHeadingElement.res +693 -0
  67. package/src/DOMAPI/HTMLHtmlElement.res +687 -0
  68. package/src/DOMAPI/HTMLIFrameElement.res +696 -0
  69. package/src/DOMAPI/HTMLImageElement.res +696 -0
  70. package/src/DOMAPI/HTMLInputElement.res +773 -0
  71. package/src/DOMAPI/HTMLLIElement.res +686 -0
  72. package/src/DOMAPI/HTMLLabelElement.res +690 -0
  73. package/src/DOMAPI/HTMLLegendElement.res +693 -0
  74. package/src/DOMAPI/HTMLLinkElement.res +687 -0
  75. package/src/DOMAPI/HTMLMapElement.res +686 -0
  76. package/src/DOMAPI/HTMLMediaElement.res +749 -0
  77. package/src/DOMAPI/HTMLMenuElement.res +687 -0
  78. package/src/DOMAPI/HTMLMetaElement.res +687 -0
  79. package/src/DOMAPI/HTMLMeterElement.res +690 -0
  80. package/src/DOMAPI/HTMLModElement.res +686 -0
  81. package/src/DOMAPI/HTMLOListElement.res +690 -0
  82. package/src/DOMAPI/HTMLObjectElement.res +717 -0
  83. package/src/DOMAPI/HTMLOptGroupElement.res +697 -0
  84. package/src/DOMAPI/HTMLOptionElement.res +693 -0
  85. package/src/DOMAPI/HTMLOptionsCollection.res +21 -0
  86. package/src/DOMAPI/HTMLOutputElement.res +711 -0
  87. package/src/DOMAPI/HTMLParagraphElement.res +701 -0
  88. package/src/DOMAPI/HTMLPictureElement.res +693 -0
  89. package/src/DOMAPI/HTMLPreElement.res +686 -0
  90. package/src/DOMAPI/HTMLProgressElement.res +697 -0
  91. package/src/DOMAPI/HTMLQuoteElement.res +690 -0
  92. package/src/DOMAPI/HTMLScriptElement.res +699 -0
  93. package/src/DOMAPI/HTMLSelectElement.res +762 -0
  94. package/src/DOMAPI/HTMLSlotElement.res +713 -0
  95. package/src/DOMAPI/HTMLSourceElement.res +693 -0
  96. package/src/DOMAPI/HTMLSpanElement.res +687 -0
  97. package/src/DOMAPI/HTMLStyleElement.res +690 -0
  98. package/src/DOMAPI/HTMLTableCaptionElement.res +714 -0
  99. package/src/DOMAPI/HTMLTableCellElement.res +701 -0
  100. package/src/DOMAPI/HTMLTableElement.res +755 -0
  101. package/src/DOMAPI/HTMLTableRowElement.res +713 -0
  102. package/src/DOMAPI/HTMLTableSectionElement.res +730 -0
  103. package/src/DOMAPI/HTMLTemplateElement.res +697 -0
  104. package/src/DOMAPI/HTMLTextAreaElement.res +758 -0
  105. package/src/DOMAPI/HTMLTimeElement.res +687 -0
  106. package/src/DOMAPI/HTMLTitleElement.res +690 -0
  107. package/src/DOMAPI/HTMLTrackElement.res +690 -0
  108. package/src/DOMAPI/HTMLUListElement.res +690 -0
  109. package/src/DOMAPI/HTMLVideoElement.res +778 -0
  110. package/src/DOMAPI/IdleDeadline.res +7 -0
  111. package/src/DOMAPI/ImageData.res +18 -0
  112. package/src/DOMAPI/Location.res +22 -0
  113. package/src/DOMAPI/MediaList.res +19 -0
  114. package/src/DOMAPI/MediaQueryList.res +82 -0
  115. package/src/DOMAPI/NamedNodeMap.res +45 -0
  116. package/src/DOMAPI/Navigator.res +114 -0
  117. package/src/DOMAPI/Node.res +179 -0
  118. package/src/DOMAPI/NodeFilter.res +4 -0
  119. package/src/DOMAPI/NodeIterator.res +13 -0
  120. package/src/DOMAPI/NodeList.res +8 -0
  121. package/src/DOMAPI/NodeListOf.res +9 -0
  122. package/src/DOMAPI/Range.res +149 -0
  123. package/src/DOMAPI/SVGGraphicsElement.res +675 -0
  124. package/src/DOMAPI/SVGLength.res +11 -0
  125. package/src/DOMAPI/ScreenOrientation.res +88 -0
  126. package/src/DOMAPI/Selection.res +103 -0
  127. package/src/DOMAPI/ShadowRoot.res +274 -0
  128. package/src/DOMAPI/StylePropertyMap.res +50 -0
  129. package/src/DOMAPI/StylePropertyMapReadOnly.res +13 -0
  130. package/src/DOMAPI/StyleSheetList.res +7 -0
  131. package/src/DOMAPI/Text.res +285 -0
  132. package/src/DOMAPI/TextTrackList.res +89 -0
  133. package/src/DOMAPI/TimeRanges.res +19 -0
  134. package/src/DOMAPI/TreeWalker.res +43 -0
  135. package/src/DOMAPI/VideoColorSpace.res +13 -0
  136. package/src/DOMAPI/VideoFrame.res +111 -0
  137. package/src/DOMAPI/Window.res +582 -0
  138. package/src/DOMAPI/XPathExpression.res +12 -0
  139. package/src/DOMAPI/XPathResult.res +13 -0
  140. package/src/DOMAPI.res +9668 -0
  141. package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +132 -0
  142. package/src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res +13 -0
  143. package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +13 -0
  144. package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +28 -0
  145. package/src/EncryptedMediaExtensionsAPI.res +100 -0
  146. package/src/EventAPI/AbortController.res +15 -0
  147. package/src/EventAPI/AbortSignal.res +106 -0
  148. package/src/EventAPI/Event.res +35 -0
  149. package/src/EventAPI/EventTarget.res +86 -0
  150. package/src/EventAPI.res +215 -0
  151. package/src/FetchAPI/FormData.res +58 -0
  152. package/src/FetchAPI/Headers.res +50 -0
  153. package/src/FetchAPI/Request.res +57 -0
  154. package/src/FetchAPI/Response.res +105 -0
  155. package/src/FetchAPI/URLSearchParams.res +68 -0
  156. package/src/FetchAPI.res +287 -0
  157. package/src/FileAPI/Blob.res +37 -0
  158. package/src/FileAPI/File.res +42 -0
  159. package/src/FileAPI/FileSystemDirectoryHandle.res +46 -0
  160. package/src/FileAPI/FileSystemFileHandle.res +23 -0
  161. package/src/FileAPI/FileSystemHandle.res +7 -0
  162. package/src/FileAPI/FileSystemWritableFileStream.res +63 -0
  163. package/src/FileAPI/ReadableStream.res +61 -0
  164. package/src/FileAPI/WritableStream.res +29 -0
  165. package/src/FileAPI/WritableStreamDefaultController.res +8 -0
  166. package/src/FileAPI.res +218 -0
  167. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +42 -0
  168. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +12 -0
  169. package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +11 -0
  170. package/src/FileAndDirectoryEntriesAPI.res +87 -0
  171. package/src/GamepadAPI/GamepadHapticActuator.res +17 -0
  172. package/src/GamepadAPI.res +85 -0
  173. package/src/GeolocationAPI/Geolocation.res +29 -0
  174. package/src/GeolocationAPI/GeolocationCoordinates.res +7 -0
  175. package/src/GeolocationAPI/GeolocationPosition.res +7 -0
  176. package/src/GeolocationAPI.res +78 -0
  177. package/src/Global.res +302 -0
  178. package/src/HistoryAPI/History.res +33 -0
  179. package/src/HistoryAPI.res +26 -0
  180. package/src/IndexedDBAPI/IDBDatabase.res +135 -0
  181. package/src/IndexedDBAPI/IDBFactory.res +31 -0
  182. package/src/IndexedDBAPI/IDBIndex.res +74 -0
  183. package/src/IndexedDBAPI/IDBObjectStore.res +167 -0
  184. package/src/IndexedDBAPI/IDBTransaction.res +102 -0
  185. package/src/IndexedDBAPI.res +205 -0
  186. package/src/MediaCapabilitiesAPI/MediaCapabilities.res +19 -0
  187. package/src/MediaCapabilitiesAPI.res +81 -0
  188. package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +7 -0
  189. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +113 -0
  190. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +142 -0
  191. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +122 -0
  192. package/src/MediaCaptureAndStreamsAPI.res +194 -0
  193. package/src/MediaSessionAPI/MediaMetadata.res +7 -0
  194. package/src/MediaSessionAPI/MediaSession.res +17 -0
  195. package/src/MediaSessionAPI.res +83 -0
  196. package/src/NotificationAPI/Notification.res +102 -0
  197. package/src/NotificationAPI.res +82 -0
  198. package/src/PerformanceAPI/Performance.res +169 -0
  199. package/src/PerformanceAPI/PerformanceEntry.res +7 -0
  200. package/src/PerformanceAPI/PerformanceMark.res +15 -0
  201. package/src/PerformanceAPI.res +86 -0
  202. package/src/PermissionsAPI/Permissions.res +7 -0
  203. package/src/PermissionsAPI.res +39 -0
  204. package/src/PictureInPicture.res +18 -0
  205. package/src/PictureInPictureAPI.res +18 -0
  206. package/src/Prelude/DOMException.res +7 -0
  207. package/src/Prelude/DOMStringList.res +15 -0
  208. package/src/Prelude.res +39 -0
  209. package/src/PushManagerAPI/PushManager.res +25 -0
  210. package/src/PushManagerAPI/PushSubscription.res +19 -0
  211. package/src/PushManagerAPI.res +67 -0
  212. package/src/RemotePlaybackAPI/RemotePlayback.res +102 -0
  213. package/src/RemotePlaybackAPI.res +21 -0
  214. package/src/ResizeObserverAPI/ResizeObserver.res +27 -0
  215. package/src/ResizeObserverAPI.res +58 -0
  216. package/src/ScreenWakeLockAPI/WakeLock.res +7 -0
  217. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +88 -0
  218. package/src/ScreenWakeLockAPI.res +26 -0
  219. package/src/ServiceWorkerAPI/Cache.res +100 -0
  220. package/src/ServiceWorkerAPI/CacheStorage.res +46 -0
  221. package/src/ServiceWorkerAPI/NavigationPreloadManager.res +25 -0
  222. package/src/ServiceWorkerAPI/ServiceWorker.res +101 -0
  223. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +114 -0
  224. package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +114 -0
  225. package/src/ServiceWorkerAPI.res +134 -0
  226. package/src/StorageAPI/StorageManager.res +26 -0
  227. package/src/StorageAPI.res +10 -0
  228. package/src/ViewTransitionsAPI/ViewTransition.res +7 -0
  229. package/src/ViewTransitionsAPI.res +23 -0
  230. package/src/VisualViewportAPI.res +38 -0
  231. package/src/WebAudioAPI/AnalyserNode.res +180 -0
  232. package/src/WebAudioAPI/AudioBuffer.res +35 -0
  233. package/src/WebAudioAPI/AudioBufferSourceNode.res +183 -0
  234. package/src/WebAudioAPI/AudioContext.res +266 -0
  235. package/src/WebAudioAPI/AudioListener.res +1 -0
  236. package/src/WebAudioAPI/AudioNode.res +143 -0
  237. package/src/WebAudioAPI/AudioParam.res +56 -0
  238. package/src/WebAudioAPI/AudioProcessingEvent.res +38 -0
  239. package/src/WebAudioAPI/AudioScheduledSourceNode.res +171 -0
  240. package/src/WebAudioAPI/AudioWorkletNode.res +160 -0
  241. package/src/WebAudioAPI/BaseAudioContext.res +212 -0
  242. package/src/WebAudioAPI/BiquadFilterNode.res +168 -0
  243. package/src/WebAudioAPI/ChannelMergerNode.res +157 -0
  244. package/src/WebAudioAPI/ChannelSplitterNode.res +159 -0
  245. package/src/WebAudioAPI/ConstantSourceNode.res +172 -0
  246. package/src/WebAudioAPI/ConvolverNode.res +157 -0
  247. package/src/WebAudioAPI/DelayNode.res +150 -0
  248. package/src/WebAudioAPI/DynamicsCompressorNode.res +162 -0
  249. package/src/WebAudioAPI/GainNode.res +149 -0
  250. package/src/WebAudioAPI/IIRFilterNode.res +168 -0
  251. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +168 -0
  252. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +168 -0
  253. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +168 -0
  254. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +40 -0
  255. package/src/WebAudioAPI/OfflineAudioContext.res +246 -0
  256. package/src/WebAudioAPI/OscillatorNode.res +176 -0
  257. package/src/WebAudioAPI/PannerNode.res +150 -0
  258. package/src/WebAudioAPI/PeriodicWave.res +8 -0
  259. package/src/WebAudioAPI/StereoPannerNode.res +157 -0
  260. package/src/WebAudioAPI/WaveShaperNode.res +157 -0
  261. package/src/WebAudioAPI/Worklet.res +13 -0
  262. package/src/WebAudioAPI.res +1271 -0
  263. package/src/WebCryptoAPI/Crypto.res +13 -0
  264. package/src/WebCryptoAPI/SubtleCrypto.res +173 -0
  265. package/src/WebCryptoAPI.res +71 -0
  266. package/src/WebLocksAPI/LockManager.res +29 -0
  267. package/src/WebLocksAPI.res +47 -0
  268. package/src/WebMIDIAPI.res +37 -0
  269. package/src/WebSocketsAPI/CloseEvent.res +37 -0
  270. package/src/WebSocketsAPI/MessageEvent.res +38 -0
  271. package/src/WebSocketsAPI/WebSocket.res +130 -0
  272. package/src/WebSocketsAPI.res +125 -0
  273. package/src/WebSpeechAPI/SpeechSynthesis.res +112 -0
  274. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +88 -0
  275. package/src/WebSpeechAPI.res +82 -0
  276. package/src/WebStorageAPI/Storage.res +44 -0
  277. package/src/WebStorageAPI/StorageEvent.res +37 -0
  278. package/src/WebStorageAPI.res +57 -0
  279. package/src/WebVTTAPI/TextTrack.res +96 -0
  280. package/src/WebVTTAPI/TextTrackCueList.res +10 -0
  281. package/src/WebVTTAPI.res +122 -0
@@ -0,0 +1,132 @@
1
+ open EventAPI
2
+ open EncryptedMediaExtensionsAPI
3
+
4
+ external asEventTarget: mediaKeySession => eventTarget = "%identity"
5
+ /**
6
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
7
+
8
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
9
+
10
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
11
+
12
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
13
+
14
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
15
+
16
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
17
+
18
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
20
+ */
21
+ @send
22
+ external addEventListener: (
23
+ mediaKeySession,
24
+ ~type_: eventType,
25
+ ~callback: eventListener<'event>,
26
+ ~options: addEventListenerOptions=?,
27
+ ) => unit = "addEventListener"
28
+
29
+ /**
30
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
31
+
32
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
33
+
34
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
35
+
36
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
37
+
38
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
39
+
40
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
41
+
42
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
43
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
44
+ */
45
+ @send
46
+ external addEventListener2: (
47
+ mediaKeySession,
48
+ ~type_: eventType,
49
+ ~callback: eventListener<'event>,
50
+ ~options: bool=?,
51
+ ) => unit = "addEventListener"
52
+
53
+ /**
54
+ Removes the event listener in target's event listener list with the same type, callback, and options.
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
56
+ */
57
+ @send
58
+ external removeEventListener: (
59
+ mediaKeySession,
60
+ ~type_: eventType,
61
+ ~callback: eventListener<'event>,
62
+ ~options: eventListenerOptions=?,
63
+ ) => unit = "removeEventListener"
64
+
65
+ /**
66
+ Removes the event listener in target's event listener list with the same type, callback, and options.
67
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
68
+ */
69
+ @send
70
+ external removeEventListener2: (
71
+ mediaKeySession,
72
+ ~type_: eventType,
73
+ ~callback: eventListener<'event>,
74
+ ~options: bool=?,
75
+ ) => unit = "removeEventListener"
76
+
77
+ /**
78
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
79
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
80
+ */
81
+ @send
82
+ external dispatchEvent: (mediaKeySession, event) => bool = "dispatchEvent"
83
+
84
+ /**
85
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/generateRequest)
86
+ */
87
+ @send
88
+ external generateRequest: (
89
+ mediaKeySession,
90
+ ~initDataType: string,
91
+ ~initData: DataView.t,
92
+ ) => Promise.t<unit> = "generateRequest"
93
+
94
+ /**
95
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/generateRequest)
96
+ */
97
+ @send
98
+ external generateRequest2: (
99
+ mediaKeySession,
100
+ ~initDataType: string,
101
+ ~initData: ArrayBuffer.t,
102
+ ) => Promise.t<unit> = "generateRequest"
103
+
104
+ /**
105
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/load)
106
+ */
107
+ @send
108
+ external load: (mediaKeySession, string) => Promise.t<bool> = "load"
109
+
110
+ /**
111
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/update)
112
+ */
113
+ @send
114
+ external update: (mediaKeySession, DataView.t) => Promise.t<unit> = "update"
115
+
116
+ /**
117
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/update)
118
+ */
119
+ @send
120
+ external update2: (mediaKeySession, ArrayBuffer.t) => Promise.t<unit> = "update"
121
+
122
+ /**
123
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/close)
124
+ */
125
+ @send
126
+ external close: mediaKeySession => Promise.t<unit> = "close"
127
+
128
+ /**
129
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/remove)
130
+ */
131
+ @send
132
+ external remove: mediaKeySession => Promise.t<unit> = "remove"
@@ -0,0 +1,13 @@
1
+ open EncryptedMediaExtensionsAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/has)
5
+ */
6
+ @send
7
+ external has: (mediaKeyStatusMap, DataView.t) => bool = "has"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/has)
11
+ */
12
+ @send
13
+ external has2: (mediaKeyStatusMap, ArrayBuffer.t) => bool = "has"
@@ -0,0 +1,13 @@
1
+ open EncryptedMediaExtensionsAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/getConfiguration)
5
+ */
6
+ @send
7
+ external getConfiguration: mediaKeySystemAccess => mediaKeySystemConfiguration = "getConfiguration"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/createMediaKeys)
11
+ */
12
+ @send
13
+ external createMediaKeys: mediaKeySystemAccess => Promise.t<mediaKeys> = "createMediaKeys"
@@ -0,0 +1,28 @@
1
+ open EncryptedMediaExtensionsAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/createSession)
5
+ */
6
+ @send
7
+ external createSession: (mediaKeys, ~sessionType: mediaKeySessionType=?) => mediaKeySession =
8
+ "createSession"
9
+
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/getStatusForPolicy)
12
+ */
13
+ @send
14
+ external getStatusForPolicy: (mediaKeys, ~policy: mediaKeysPolicy=?) => Promise.t<mediaKeyStatus> =
15
+ "getStatusForPolicy"
16
+
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate)
19
+ */
20
+ @send
21
+ external setServerCertificate: (mediaKeys, DataView.t) => Promise.t<bool> = "setServerCertificate"
22
+
23
+ /**
24
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate)
25
+ */
26
+ @send
27
+ external setServerCertificate2: (mediaKeys, ArrayBuffer.t) => Promise.t<bool> =
28
+ "setServerCertificate"
@@ -0,0 +1,100 @@
1
+ @@warning("-30")
2
+
3
+ open Prelude
4
+ open EventAPI
5
+
6
+ type mediaKeysRequirement =
7
+ | @as("not-allowed") NotAllowed
8
+ | @as("optional") Optional
9
+ | @as("required") Required
10
+
11
+ type mediaKeySessionType =
12
+ | @as("persistent-license") PersistentLicense
13
+ | @as("temporary") Temporary
14
+
15
+ type mediaKeySessionClosedReason =
16
+ | @as("closed-by-application") ClosedByApplication
17
+ | @as("hardware-context-reset") HardwareContextReset
18
+ | @as("internal-error") InternalError
19
+ | @as("release-acknowledged") ReleaseAcknowledged
20
+ | @as("resource-evicted") ResourceEvicted
21
+
22
+ type mediaKeyStatus =
23
+ | @as("expired") Expired
24
+ | @as("internal-error") InternalError
25
+ | @as("output-downscaled") OutputDownscaled
26
+ | @as("output-restricted") OutputRestricted
27
+ | @as("released") Released
28
+ | @as("status-pending") StatusPending
29
+ | @as("usable") Usable
30
+ | @as("usable-in-future") UsableInFuture
31
+
32
+ /**
33
+ This EncryptedMediaExtensions API interface provides access to a Key System for decryption and/or a content protection provider. You can request an instance of this object using the Navigator.requestMediaKeySystemAccess method.
34
+ [See MediaKeySystemAccess on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess)
35
+ */
36
+ type mediaKeySystemAccess = {
37
+ /**
38
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/keySystem)
39
+ */
40
+ keySystem: string,
41
+ }
42
+
43
+ /**
44
+ This EncryptedMediaExtensions API interface the represents a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.
45
+ [See MediaKeys on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys)
46
+ */
47
+ type mediaKeys = {}
48
+
49
+ /**
50
+ This EncryptedMediaExtensions API interface is a read-only map of media key statuses by key IDs.
51
+ [See MediaKeyStatusMap on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap)
52
+ */
53
+ type mediaKeyStatusMap = {
54
+ /**
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/size)
56
+ */
57
+ size: int,
58
+ }
59
+
60
+ /**
61
+ This EncryptedMediaExtensions API interface represents a context for message exchange with a content decryption module (CDM).
62
+ [See MediaKeySession on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession)
63
+ */
64
+ type mediaKeySession = {
65
+ ...eventTarget,
66
+ /**
67
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/sessionId)
68
+ */
69
+ sessionId: string,
70
+ /**
71
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/expiration)
72
+ */
73
+ expiration: float,
74
+ /**
75
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/closed)
76
+ */
77
+ closed: Promise.t<mediaKeySessionClosedReason>,
78
+ /**
79
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/keyStatuses)
80
+ */
81
+ keyStatuses: mediaKeyStatusMap,
82
+ }
83
+
84
+ type mediaKeySystemMediaCapability = {
85
+ mutable contentType?: string,
86
+ mutable encryptionScheme?: Null.t<string>,
87
+ mutable robustness?: string,
88
+ }
89
+
90
+ type mediaKeySystemConfiguration = {
91
+ mutable label?: string,
92
+ mutable initDataTypes?: array<string>,
93
+ mutable audioCapabilities?: array<mediaKeySystemMediaCapability>,
94
+ mutable videoCapabilities?: array<mediaKeySystemMediaCapability>,
95
+ mutable distinctiveIdentifier?: mediaKeysRequirement,
96
+ mutable persistentState?: mediaKeysRequirement,
97
+ mutable sessionTypes?: array<string>,
98
+ }
99
+
100
+ type mediaKeysPolicy = {mutable minHdcpVersion?: string}
@@ -0,0 +1,15 @@
1
+ open Prelude
2
+ open EventAPI
3
+
4
+ /**
5
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortController)
6
+ */
7
+ @new
8
+ external make: unit => abortController = "AbortController"
9
+
10
+ /**
11
+ Invoking this method will set this object's AbortSignal's aborted flag and signal to any observers that the associated activity is to be aborted.
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortController/abort)
13
+ */
14
+ @send
15
+ external abort: (abortController, ~reason: JSON.t=?) => unit = "abort"
@@ -0,0 +1,106 @@
1
+ open EventAPI
2
+ open Prelude
3
+
4
+ external asEventTarget: abortSignal => eventTarget = "%identity"
5
+ /**
6
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
7
+
8
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
9
+
10
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
11
+
12
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
13
+
14
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
15
+
16
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
17
+
18
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
20
+ */
21
+ @send
22
+ external addEventListener: (
23
+ abortSignal,
24
+ ~type_: eventType,
25
+ ~callback: eventListener<'event>,
26
+ ~options: addEventListenerOptions=?,
27
+ ) => unit = "addEventListener"
28
+
29
+ /**
30
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
31
+
32
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
33
+
34
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
35
+
36
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
37
+
38
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
39
+
40
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
41
+
42
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
43
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
44
+ */
45
+ @send
46
+ external addEventListener2: (
47
+ abortSignal,
48
+ ~type_: eventType,
49
+ ~callback: eventListener<'event>,
50
+ ~options: bool=?,
51
+ ) => unit = "addEventListener"
52
+
53
+ /**
54
+ Removes the event listener in target's event listener list with the same type, callback, and options.
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
56
+ */
57
+ @send
58
+ external removeEventListener: (
59
+ abortSignal,
60
+ ~type_: eventType,
61
+ ~callback: eventListener<'event>,
62
+ ~options: eventListenerOptions=?,
63
+ ) => unit = "removeEventListener"
64
+
65
+ /**
66
+ Removes the event listener in target's event listener list with the same type, callback, and options.
67
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
68
+ */
69
+ @send
70
+ external removeEventListener2: (
71
+ abortSignal,
72
+ ~type_: eventType,
73
+ ~callback: eventListener<'event>,
74
+ ~options: bool=?,
75
+ ) => unit = "removeEventListener"
76
+
77
+ /**
78
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
79
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
80
+ */
81
+ @send
82
+ external dispatchEvent: (abortSignal, event) => bool = "dispatchEvent"
83
+
84
+ /**
85
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/abort_static)
86
+ */
87
+ @scope("AbortSignal")
88
+ external abort: (~reason: JSON.t=?) => abortSignal = "abort"
89
+
90
+ /**
91
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/timeout_static)
92
+ */
93
+ @scope("AbortSignal")
94
+ external timeout: int => abortSignal = "timeout"
95
+
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/any_static)
98
+ */
99
+ @scope("AbortSignal")
100
+ external any: array<abortSignal> => abortSignal = "any"
101
+
102
+ /**
103
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AbortSignal/throwIfAborted)
104
+ */
105
+ @send
106
+ external throwIfAborted: abortSignal => unit = "throwIfAborted"
@@ -0,0 +1,35 @@
1
+ open EventAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event)
5
+ */
6
+ @new
7
+ external make: (~type_: string, ~eventInitDict: eventInit=?) => event = "Event"
8
+
9
+ /**
10
+ Returns the invocation target objects of event's path (objects on which listeners will be invoked), except for any nodes in shadow trees of which the shadow root's mode is "closed" that are not reachable from event's currentTarget.
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/composedPath)
12
+ */
13
+ @send
14
+ external composedPath: event => array<eventTarget> = "composedPath"
15
+
16
+ /**
17
+ When dispatched in a tree, invoking this method prevents event from reaching any objects other than the current object.
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/stopPropagation)
19
+ */
20
+ @send
21
+ external stopPropagation: event => unit = "stopPropagation"
22
+
23
+ /**
24
+ Invoking this method prevents event from reaching any registered event listeners after the current one finishes running and, when dispatched in a tree, also prevents event from reaching any other objects.
25
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/stopImmediatePropagation)
26
+ */
27
+ @send
28
+ external stopImmediatePropagation: event => unit = "stopImmediatePropagation"
29
+
30
+ /**
31
+ If invoked when the cancelable attribute value is true, and while executing a listener for the event with passive set to false, signals to the operation that caused event to be dispatched that it needs to be canceled.
32
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Event/preventDefault)
33
+ */
34
+ @send
35
+ external preventDefault: event => unit = "preventDefault"
@@ -0,0 +1,86 @@
1
+ open EventAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget)
5
+ */
6
+ @new
7
+ external make: unit => eventTarget = "EventTarget"
8
+
9
+ /**
10
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
11
+
12
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
13
+
14
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
15
+
16
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
17
+
18
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
19
+
20
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
21
+
22
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
24
+ */
25
+ @send
26
+ external addEventListener: (
27
+ eventTarget,
28
+ ~type_: eventType,
29
+ ~callback: eventListener<'event>,
30
+ ~options: addEventListenerOptions=?,
31
+ ) => unit = "addEventListener"
32
+
33
+ /**
34
+ Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
35
+
36
+ The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
37
+
38
+ When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
39
+
40
+ When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
41
+
42
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
43
+
44
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
45
+
46
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
47
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
48
+ */
49
+ @send
50
+ external addEventListener2: (
51
+ eventTarget,
52
+ ~type_: eventType,
53
+ ~callback: eventListener<'event>,
54
+ ~options: bool=?,
55
+ ) => unit = "addEventListener"
56
+
57
+ /**
58
+ Removes the event listener in target's event listener list with the same type, callback, and options.
59
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
60
+ */
61
+ @send
62
+ external removeEventListener: (
63
+ eventTarget,
64
+ ~type_: eventType,
65
+ ~callback: eventListener<'event>,
66
+ ~options: eventListenerOptions=?,
67
+ ) => unit = "removeEventListener"
68
+
69
+ /**
70
+ Removes the event listener in target's event listener list with the same type, callback, and options.
71
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
72
+ */
73
+ @send
74
+ external removeEventListener2: (
75
+ eventTarget,
76
+ ~type_: eventType,
77
+ ~callback: eventListener<'event>,
78
+ ~options: bool=?,
79
+ ) => unit = "removeEventListener"
80
+
81
+ /**
82
+ Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
83
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
84
+ */
85
+ @send
86
+ external dispatchEvent: (eventTarget, event) => bool = "dispatchEvent"