@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,106 @@
1
+ open EventAPI
2
+ open ClipboardAPI
3
+
4
+ external asEventTarget: clipboard => 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
+ clipboard,
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
+ clipboard,
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
+ clipboard,
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
+ clipboard,
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: (clipboard, event) => bool = "dispatchEvent"
83
+
84
+ /**
85
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Clipboard/read)
86
+ */
87
+ @send
88
+ external read: clipboard => Promise.t<array<clipboardItem>> = "read"
89
+
90
+ /**
91
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Clipboard/readText)
92
+ */
93
+ @send
94
+ external readText: clipboard => Promise.t<string> = "readText"
95
+
96
+ /**
97
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Clipboard/write)
98
+ */
99
+ @send
100
+ external write: (clipboard, array<clipboardItem>) => Promise.t<unit> = "write"
101
+
102
+ /**
103
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Clipboard/writeText)
104
+ */
105
+ @send
106
+ external writeText: (clipboard, string) => Promise.t<unit> = "writeText"
@@ -0,0 +1,21 @@
1
+ open FileAPI
2
+ open ClipboardAPI
3
+ open Prelude
4
+
5
+ /**
6
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem)
7
+ */
8
+ @new
9
+ external make: (~items: any, ~options: clipboardItemOptions=?) => clipboardItem = "ClipboardItem"
10
+
11
+ /**
12
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem/getType)
13
+ */
14
+ @send
15
+ external getType: (clipboardItem, string) => Promise.t<blob> = "getType"
16
+
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem/supports_static)
19
+ */
20
+ @scope("ClipboardItem")
21
+ external supports: string => bool = "supports"
@@ -0,0 +1,31 @@
1
+ @@warning("-30")
2
+
3
+ open EventAPI
4
+
5
+ type presentationStyle =
6
+ | @as("attachment") Attachment
7
+ | @as("inline") Inline
8
+ | @as("unspecified") Unspecified
9
+
10
+ /**
11
+ [See ClipboardItem on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem)
12
+ */
13
+ type clipboardItem = {
14
+ /**
15
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem/presentationStyle)
16
+ */
17
+ presentationStyle: presentationStyle,
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ClipboardItem/types)
20
+ */
21
+ types: array<string>,
22
+ }
23
+
24
+ /**
25
+ [See Clipboard on MDN](https://developer.mozilla.org/docs/Web/API/Clipboard)
26
+ */
27
+ type clipboard = {
28
+ ...eventTarget,
29
+ }
30
+
31
+ type clipboardItemOptions = {mutable presentationStyle?: presentationStyle}
@@ -0,0 +1,31 @@
1
+ open CredentialManagementAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/get)
5
+ */
6
+ @send
7
+ external get: (
8
+ credentialsContainer,
9
+ ~options: credentialRequestOptions=?,
10
+ ) => Promise.t<credential> = "get"
11
+
12
+ /**
13
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/store)
14
+ */
15
+ @send
16
+ external store: (credentialsContainer, credential) => Promise.t<unit> = "store"
17
+
18
+ /**
19
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/create)
20
+ */
21
+ @send
22
+ external create: (
23
+ credentialsContainer,
24
+ ~options: credentialCreationOptions=?,
25
+ ) => Promise.t<credential> = "create"
26
+
27
+ /**
28
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CredentialsContainer/preventSilentAccess)
29
+ */
30
+ @send
31
+ external preventSilentAccess: credentialsContainer => Promise.t<unit> = "preventSilentAccess"
@@ -0,0 +1,140 @@
1
+ @@warning("-30")
2
+
3
+ open Prelude
4
+ open EventAPI
5
+
6
+ type authenticatorTransport =
7
+ | @as("ble") Ble
8
+ | @as("hybrid") Hybrid
9
+ | @as("internal") Internal
10
+ | @as("nfc") Nfc
11
+ | @as("usb") Usb
12
+
13
+ type credentialMediationRequirement =
14
+ | @as("conditional") Conditional
15
+ | @as("optional") Optional
16
+ | @as("required") Required
17
+ | @as("silent") Silent
18
+
19
+ type publicKeyCredentialType = | @as("public-key") PublicKey
20
+
21
+ type userVerificationRequirement =
22
+ | @as("discouraged") Discouraged
23
+ | @as("preferred") Preferred
24
+ | @as("required") Required
25
+
26
+ type authenticatorAttachment =
27
+ | @as("cross-platform") CrossPlatform
28
+ | @as("platform") Platform
29
+
30
+ type residentKeyRequirement =
31
+ | @as("discouraged") Discouraged
32
+ | @as("preferred") Preferred
33
+ | @as("required") Required
34
+
35
+ type attestationConveyancePreference =
36
+ | @as("direct") Direct
37
+ | @as("enterprise") Enterprise
38
+ | @as("indirect") Indirect
39
+ | @as("none") None
40
+
41
+ /**
42
+ [See CredentialsContainer on MDN](https://developer.mozilla.org/docs/Web/API/CredentialsContainer)
43
+ */
44
+ type credentialsContainer = {}
45
+
46
+ /**
47
+ [See Credential on MDN](https://developer.mozilla.org/docs/Web/API/Credential)
48
+ */
49
+ type credential = {
50
+ /**
51
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Credential/id)
52
+ */
53
+ id: string,
54
+ /**
55
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Credential/type)
56
+ */
57
+ @as("type")
58
+ type_: string,
59
+ }
60
+
61
+ type publicKeyCredentialDescriptor = {
62
+ @as("type") mutable type_: publicKeyCredentialType,
63
+ mutable id: bufferSource,
64
+ mutable transports?: array<authenticatorTransport>,
65
+ }
66
+
67
+ type authenticationExtensionsPRFValues = {
68
+ mutable first: bufferSource,
69
+ mutable second?: bufferSource,
70
+ }
71
+
72
+ type authenticationExtensionsPRFInputs = {
73
+ mutable eval?: authenticationExtensionsPRFValues,
74
+ mutable evalByCredential?: any,
75
+ }
76
+
77
+ type authenticationExtensionsClientInputs = {
78
+ mutable minPinLength?: bool,
79
+ mutable hmacCreateSecret?: bool,
80
+ mutable appid?: string,
81
+ mutable credProps?: bool,
82
+ mutable prf?: authenticationExtensionsPRFInputs,
83
+ }
84
+
85
+ type publicKeyCredentialRequestOptions = {
86
+ mutable challenge: bufferSource,
87
+ mutable timeout?: int,
88
+ mutable rpId?: string,
89
+ mutable allowCredentials?: array<publicKeyCredentialDescriptor>,
90
+ mutable userVerification?: userVerificationRequirement,
91
+ mutable extensions?: authenticationExtensionsClientInputs,
92
+ }
93
+
94
+ type credentialRequestOptions = {
95
+ mutable mediation?: credentialMediationRequirement,
96
+ mutable signal?: abortSignal,
97
+ mutable publicKey?: publicKeyCredentialRequestOptions,
98
+ }
99
+
100
+ type publicKeyCredentialEntity = {mutable name: string}
101
+
102
+ type publicKeyCredentialRpEntity = {
103
+ ...publicKeyCredentialEntity,
104
+ mutable id?: string,
105
+ }
106
+
107
+ type publicKeyCredentialUserEntity = {
108
+ ...publicKeyCredentialEntity,
109
+ mutable id: bufferSource,
110
+ mutable displayName: string,
111
+ }
112
+
113
+ type publicKeyCredentialParameters = {
114
+ @as("type") mutable type_: publicKeyCredentialType,
115
+ mutable alg: int,
116
+ }
117
+
118
+ type authenticatorSelectionCriteria = {
119
+ mutable authenticatorAttachment?: authenticatorAttachment,
120
+ mutable residentKey?: residentKeyRequirement,
121
+ mutable requireResidentKey?: bool,
122
+ mutable userVerification?: userVerificationRequirement,
123
+ }
124
+
125
+ type publicKeyCredentialCreationOptions = {
126
+ mutable rp: publicKeyCredentialRpEntity,
127
+ mutable user: publicKeyCredentialUserEntity,
128
+ mutable challenge: bufferSource,
129
+ mutable pubKeyCredParams: array<publicKeyCredentialParameters>,
130
+ mutable timeout?: int,
131
+ mutable excludeCredentials?: array<publicKeyCredentialDescriptor>,
132
+ mutable authenticatorSelection?: authenticatorSelectionCriteria,
133
+ mutable attestation?: attestationConveyancePreference,
134
+ mutable extensions?: authenticationExtensionsClientInputs,
135
+ }
136
+
137
+ type credentialCreationOptions = {
138
+ mutable signal?: abortSignal,
139
+ mutable publicKey?: publicKeyCredentialCreationOptions,
140
+ }
@@ -0,0 +1,137 @@
1
+ open EventAPI
2
+ open DOMAPI
3
+
4
+ /**
5
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation)
6
+ */
7
+ @new
8
+ external make: (~effect: animationEffect=?, ~timeline: animationTimeline=?) => animation =
9
+ "Animation"
10
+
11
+ external asEventTarget: animation => eventTarget = "%identity"
12
+ /**
13
+ 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.
14
+
15
+ 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.
16
+
17
+ 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.
18
+
19
+ 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.
20
+
21
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
22
+
23
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
24
+
25
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
26
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
27
+ */
28
+ @send
29
+ external addEventListener: (
30
+ animation,
31
+ ~type_: eventType,
32
+ ~callback: eventListener<'event>,
33
+ ~options: addEventListenerOptions=?,
34
+ ) => unit = "addEventListener"
35
+
36
+ /**
37
+ 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.
38
+
39
+ 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.
40
+
41
+ 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.
42
+
43
+ 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.
44
+
45
+ When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
46
+
47
+ If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
48
+
49
+ The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
50
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
51
+ */
52
+ @send
53
+ external addEventListener2: (
54
+ animation,
55
+ ~type_: eventType,
56
+ ~callback: eventListener<'event>,
57
+ ~options: bool=?,
58
+ ) => unit = "addEventListener"
59
+
60
+ /**
61
+ Removes the event listener in target's event listener list with the same type, callback, and options.
62
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
63
+ */
64
+ @send
65
+ external removeEventListener: (
66
+ animation,
67
+ ~type_: eventType,
68
+ ~callback: eventListener<'event>,
69
+ ~options: eventListenerOptions=?,
70
+ ) => unit = "removeEventListener"
71
+
72
+ /**
73
+ Removes the event listener in target's event listener list with the same type, callback, and options.
74
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
75
+ */
76
+ @send
77
+ external removeEventListener2: (
78
+ animation,
79
+ ~type_: eventType,
80
+ ~callback: eventListener<'event>,
81
+ ~options: bool=?,
82
+ ) => unit = "removeEventListener"
83
+
84
+ /**
85
+ 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.
86
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
87
+ */
88
+ @send
89
+ external dispatchEvent: (animation, event) => bool = "dispatchEvent"
90
+
91
+ /**
92
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/cancel)
93
+ */
94
+ @send
95
+ external cancel: animation => unit = "cancel"
96
+
97
+ /**
98
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/finish)
99
+ */
100
+ @send
101
+ external finish: animation => unit = "finish"
102
+
103
+ /**
104
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/play)
105
+ */
106
+ @send
107
+ external play: animation => unit = "play"
108
+
109
+ /**
110
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/pause)
111
+ */
112
+ @send
113
+ external pause: animation => unit = "pause"
114
+
115
+ /**
116
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/updatePlaybackRate)
117
+ */
118
+ @send
119
+ external updatePlaybackRate: (animation, float) => unit = "updatePlaybackRate"
120
+
121
+ /**
122
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/reverse)
123
+ */
124
+ @send
125
+ external reverse: animation => unit = "reverse"
126
+
127
+ /**
128
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/persist)
129
+ */
130
+ @send
131
+ external persist: animation => unit = "persist"
132
+
133
+ /**
134
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Animation/commitStyles)
135
+ */
136
+ @send
137
+ external commitStyles: animation => unit = "commitStyles"
@@ -0,0 +1,19 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getTiming)
5
+ */
6
+ @send
7
+ external getTiming: animationEffect => effectTiming = "getTiming"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AnimationEffect/getComputedTiming)
11
+ */
12
+ @send
13
+ external getComputedTiming: animationEffect => computedEffectTiming = "getComputedTiming"
14
+
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/AnimationEffect/updateTiming)
17
+ */
18
+ @send
19
+ external updateTiming: (animationEffect, ~timing: optionalEffectTiming=?) => unit = "updateTiming"
@@ -0,0 +1,7 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSRuleList/item)
5
+ */
6
+ @send
7
+ external item: (cssRuleList, int) => cssRule = "item"
@@ -0,0 +1,36 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/item)
5
+ */
6
+ @send
7
+ external item: (cssStyleDeclaration, int) => string = "item"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyValue)
11
+ */
12
+ @send
13
+ external getPropertyValue: (cssStyleDeclaration, string) => string = "getPropertyValue"
14
+
15
+ /**
16
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/getPropertyPriority)
17
+ */
18
+ @send
19
+ external getPropertyPriority: (cssStyleDeclaration, string) => string = "getPropertyPriority"
20
+
21
+ /**
22
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/setProperty)
23
+ */
24
+ @send
25
+ external setProperty: (
26
+ cssStyleDeclaration,
27
+ ~property: string,
28
+ ~value: string,
29
+ ~priority: string=?,
30
+ ) => unit = "setProperty"
31
+
32
+ /**
33
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleDeclaration/removeProperty)
34
+ */
35
+ @send
36
+ external removeProperty: (cssStyleDeclaration, string) => string = "removeProperty"
@@ -0,0 +1,32 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet)
5
+ */
6
+ @new
7
+ external make: (~options: cssStyleSheetInit=?) => cssStyleSheet = "CSSStyleSheet"
8
+
9
+ external asStyleSheet: cssStyleSheet => styleSheet = "%identity"
10
+ /**
11
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/insertRule)
12
+ */
13
+ @send
14
+ external insertRule: (cssStyleSheet, ~rule: string, ~index: int=?) => int = "insertRule"
15
+
16
+ /**
17
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/deleteRule)
18
+ */
19
+ @send
20
+ external deleteRule: (cssStyleSheet, int) => unit = "deleteRule"
21
+
22
+ /**
23
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replace)
24
+ */
25
+ @send
26
+ external replace: (cssStyleSheet, string) => Promise.t<cssStyleSheet> = "replace"
27
+
28
+ /**
29
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleSheet/replaceSync)
30
+ */
31
+ @send
32
+ external replaceSync: (cssStyleSheet, string) => unit = "replaceSync"
@@ -0,0 +1,13 @@
1
+ open DOMAPI
2
+
3
+ /**
4
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parse_static)
5
+ */
6
+ @scope("CSSStyleValue")
7
+ external parse: (~property: string, ~cssText: string) => cssStyleValue = "parse"
8
+
9
+ /**
10
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CSSStyleValue/parseAll_static)
11
+ */
12
+ @scope("CSSStyleValue")
13
+ external parseAll: (~property: string, ~cssText: string) => array<cssStyleValue> = "parseAll"
@@ -0,0 +1,4 @@
1
+ open DOMAPI
2
+
3
+ @send
4
+ external getClientRect: caretPosition => domRect = "getClientRect"