@rescript/webapi 0.1.0-experimental-61b1074 → 0.1.0-experimental-0781ac8

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 (480) hide show
  1. package/README.md +10 -5
  2. package/package.json +6 -4
  3. package/rescript.json +591 -4
  4. package/src/Base/ArrayBufferTypedArrayOrDataView.res +4 -0
  5. package/src/Base/BaseCSSFontLoading.res +25 -0
  6. package/src/{EncryptedMediaExtensionsAPI.res → Base/BaseEncryptedMediaExtensions.res} +12 -18
  7. package/src/Base/BaseEvent.res +6 -0
  8. package/src/Base/BaseFile.res +37 -0
  9. package/src/{FileAndDirectoryEntriesAPI.res → Base/BaseFileAndDirectoryEntries.res} +5 -22
  10. package/src/{DOMAPI.res → Base/DOM.res} +225 -2237
  11. package/src/{CSSFontLoadingAPI.res → CSSFontLoading/CssFontLoadingTypes.res} +4 -15
  12. package/src/CSSFontLoading/FontFace.res +62 -0
  13. package/src/CSSFontLoading/FontFaceSet.res +38 -0
  14. package/src/Canvas/Canvas.res +179 -0
  15. package/src/{CanvasAPI → Canvas}/CanvasGradient.res +2 -3
  16. package/src/{CanvasAPI → Canvas}/CanvasPattern.res +3 -3
  17. package/src/{DOMAPI → Canvas}/CanvasRenderingContext2D.res +178 -140
  18. package/src/{CanvasAPI.res → Canvas/CanvasTypes.res} +9 -11
  19. package/src/Canvas/FillStyle.res +25 -0
  20. package/src/{DOMAPI → Canvas}/HTMLCanvasElement.res +21 -23
  21. package/src/{CanvasAPI → Canvas}/ImageBitmap.res +1 -3
  22. package/src/{CanvasAPI → Canvas}/ImageBitmapRenderingContext.res +4 -4
  23. package/src/{CanvasAPI → Canvas}/OffscreenCanvas.res +19 -19
  24. package/src/{CanvasAPI → Canvas}/Path2D.res +63 -19
  25. package/src/Canvas/VideoFrame.res +223 -0
  26. package/src/{ChannelMessagingAPI.res → ChannelMessaging/ChannelMessagingTypes.res} +2 -4
  27. package/src/{ChannelMessagingAPI → ChannelMessaging}/MessagePort.res +8 -10
  28. package/src/Clipboard/Clipboard.res +29 -0
  29. package/src/{ClipboardAPI → Clipboard}/ClipboardItem.res +5 -6
  30. package/src/{ClipboardAPI.res → Clipboard/ClipboardTypes.res} +5 -7
  31. package/src/{CredentialManagementAPI.res → CredentialManagement/CredentialManagementTypes.res} +10 -13
  32. package/src/CredentialManagement/CredentialsContainer.res +33 -0
  33. package/src/{DOMAPI → DOM}/Animation.res +13 -13
  34. package/src/{DOMAPI → DOM}/AnimationEffect.res +7 -5
  35. package/src/{DOMAPI → DOM}/CSSRuleList.res +1 -3
  36. package/src/{DOMAPI → DOM}/CSSStyleDeclaration.res +6 -7
  37. package/src/DOM/CSSStyleSheet.res +30 -0
  38. package/src/{DOMAPI → DOM}/CSSStyleValue.res +3 -4
  39. package/src/DOM/CaretPosition.res +2 -0
  40. package/src/{DOMAPI → DOM}/CharacterData.res +5 -7
  41. package/src/DOM/Comment.res +7 -0
  42. package/src/{DOMAPI → DOM}/CustomElementRegistry.res +10 -9
  43. package/src/DOM/DOMException.res +7 -0
  44. package/src/{DOMAPI → DOM}/DOMImplementation.res +6 -8
  45. package/src/DOM/DOMMatrix.res +228 -0
  46. package/src/DOM/DOMMatrixReadOnly.res +147 -0
  47. package/src/DOM/DOMPoint.res +31 -0
  48. package/src/{DOMAPI → DOM}/DOMPointReadOnly.res +7 -7
  49. package/src/{DOMAPI → DOM}/DOMRect.res +6 -7
  50. package/src/DOM/DOMRectList.res +2 -0
  51. package/src/DOM/DOMRectReadOnly.res +19 -0
  52. package/src/{Prelude → DOM}/DOMStringList.res +3 -3
  53. package/src/{DOMAPI → DOM}/DOMTokenList.res +7 -9
  54. package/src/{DOMAPI → DOM}/Document.res +94 -80
  55. package/src/{DOMAPI → DOM}/DocumentFragment.res +10 -11
  56. package/src/DOM/DocumentTimeline.res +8 -0
  57. package/src/{Global.res → DOM/DomGlobal.res} +62 -285
  58. package/src/{DOMAPI/HTMLMediaElement.res → DOM/DomHTMLMediaElement.res} +6 -16
  59. package/src/DOM/DomTypes.res +2105 -0
  60. package/src/{DOMAPI → DOM}/Element.res +53 -44
  61. package/src/{DOMAPI → DOM}/ElementInternals.res +6 -8
  62. package/src/{DOMAPI → DOM}/FileList.res +2 -5
  63. package/src/DOM/HTMLAnchorElement.res +1 -0
  64. package/src/DOM/HTMLAreaElement.res +1 -0
  65. package/src/DOM/HTMLAudioElement.res +1 -0
  66. package/src/DOM/HTMLBRElement.res +1 -0
  67. package/src/DOM/HTMLBaseElement.res +1 -0
  68. package/src/DOM/HTMLBodyElement.res +1 -0
  69. package/src/{DOMAPI → DOM}/HTMLButtonElement.res +4 -6
  70. package/src/{DOMAPI → DOM}/HTMLCollection.res +2 -4
  71. package/src/DOM/HTMLDListElement.res +1 -0
  72. package/src/DOM/HTMLDataElement.res +1 -0
  73. package/src/DOM/HTMLDataListElement.res +1 -0
  74. package/src/{DOMAPI → DOM}/HTMLDialogElement.res +4 -6
  75. package/src/DOM/HTMLDivElement.res +1 -0
  76. package/src/{DOMAPI → DOM}/HTMLElement.res +5 -5
  77. package/src/DOM/HTMLEmbedElement.res +4 -0
  78. package/src/{DOMAPI → DOM}/HTMLFieldSetElement.res +4 -6
  79. package/src/DOM/HTMLFormControlsCollection.res +16 -0
  80. package/src/{DOMAPI → DOM}/HTMLFormElement.res +7 -7
  81. package/src/DOM/HTMLFrameSetElement.res +1 -0
  82. package/src/DOM/HTMLHRElement.res +1 -0
  83. package/src/DOM/HTMLHeadElement.res +1 -0
  84. package/src/DOM/HTMLHeadingElement.res +1 -0
  85. package/src/DOM/HTMLHtmlElement.res +1 -0
  86. package/src/DOM/HTMLIFrameElement.res +4 -0
  87. package/src/DOM/HTMLImageElement.res +7 -0
  88. package/src/{DOMAPI → DOM}/HTMLInputElement.res +12 -14
  89. package/src/DOM/HTMLLIElement.res +1 -0
  90. package/src/DOM/HTMLLabelElement.res +1 -0
  91. package/src/DOM/HTMLLegendElement.res +1 -0
  92. package/src/DOM/HTMLLinkElement.res +1 -0
  93. package/src/DOM/HTMLMapElement.res +1 -0
  94. package/src/DOM/HTMLMenuElement.res +1 -0
  95. package/src/DOM/HTMLMetaElement.res +1 -0
  96. package/src/DOM/HTMLMeterElement.res +1 -0
  97. package/src/DOM/HTMLModElement.res +1 -0
  98. package/src/DOM/HTMLOListElement.res +1 -0
  99. package/src/{DOMAPI → DOM}/HTMLObjectElement.res +5 -7
  100. package/src/DOM/HTMLOptGroupElement.res +1 -0
  101. package/src/DOM/HTMLOptionElement.res +1 -0
  102. package/src/{DOMAPI → DOM}/HTMLOptionsCollection.res +4 -5
  103. package/src/{DOMAPI → DOM}/HTMLOutputElement.res +4 -6
  104. package/src/DOM/HTMLParagraphElement.res +1 -0
  105. package/src/DOM/HTMLPictureElement.res +1 -0
  106. package/src/DOM/HTMLPreElement.res +1 -0
  107. package/src/DOM/HTMLProgressElement.res +1 -0
  108. package/src/DOM/HTMLQuoteElement.res +1 -0
  109. package/src/{DOMAPI → DOM}/HTMLScriptElement.res +1 -3
  110. package/src/{DOMAPI → DOM}/HTMLSelectElement.res +10 -12
  111. package/src/DOM/HTMLSlotElement.res +31 -0
  112. package/src/DOM/HTMLSourceElement.res +1 -0
  113. package/src/DOM/HTMLSpanElement.res +1 -0
  114. package/src/DOM/HTMLStyleElement.res +1 -0
  115. package/src/DOM/HTMLTableCaptionElement.res +1 -0
  116. package/src/DOM/HTMLTableCellElement.res +1 -0
  117. package/src/{DOMAPI → DOM}/HTMLTableElement.res +12 -12
  118. package/src/{DOMAPI → DOM}/HTMLTableRowElement.res +6 -5
  119. package/src/{DOMAPI → DOM}/HTMLTableSectionElement.res +6 -5
  120. package/src/DOM/HTMLTemplateElement.res +1 -0
  121. package/src/{DOMAPI → DOM}/HTMLTextAreaElement.res +9 -11
  122. package/src/DOM/HTMLTimeElement.res +1 -0
  123. package/src/DOM/HTMLTitleElement.res +1 -0
  124. package/src/DOM/HTMLTrackElement.res +1 -0
  125. package/src/DOM/HTMLUListElement.res +1 -0
  126. package/src/DOM/HTMLVideoElement.res +32 -0
  127. package/src/{DOMAPI → DOM}/IdleDeadline.res +1 -3
  128. package/src/{DOMAPI → DOM}/ImageData.res +4 -5
  129. package/src/{DOMAPI → DOM}/Location.res +3 -5
  130. package/src/{DOMAPI → DOM}/MediaList.res +3 -5
  131. package/src/DOM/MediaQueryList.res +1 -0
  132. package/src/{DOMAPI → DOM}/NamedNodeMap.res +15 -11
  133. package/src/DOM/Navigator.res +166 -0
  134. package/src/{DOMAPI → DOM}/Node.res +10 -11
  135. package/src/DOM/NodeFilter.res +2 -0
  136. package/src/{DOMAPI → DOM}/NodeIterator.res +2 -4
  137. package/src/{DOMAPI → DOM}/NodeList.res +1 -3
  138. package/src/{DOMAPI → DOM}/Range.res +27 -27
  139. package/src/DOM/SVGGraphicsElement.res +18 -0
  140. package/src/{DOMAPI → DOM}/SVGLength.res +2 -4
  141. package/src/DOM/ScreenOrientation.res +7 -0
  142. package/src/{DOMAPI → DOM}/Selection.res +22 -20
  143. package/src/DOM/ShadowRoot.res +19 -0
  144. package/src/DOM/StylePropertyMap.res +57 -0
  145. package/src/{DOMAPI → DOM}/StylePropertyMapReadOnly.res +3 -4
  146. package/src/{DOMAPI → DOM}/StyleSheetList.res +1 -3
  147. package/src/{DOMAPI → DOM}/Text.res +3 -5
  148. package/src/DOM/TextTrackList.res +7 -0
  149. package/src/{DOMAPI → DOM}/TimeRanges.res +2 -4
  150. package/src/{DOMAPI → DOM}/TreeWalker.res +7 -9
  151. package/src/{DOMAPI → DOM}/VideoColorSpace.res +3 -4
  152. package/src/DOM/Window.res +557 -0
  153. package/src/{DOMAPI → DOM}/XPathExpression.res +4 -6
  154. package/src/{DOMAPI → DOM}/XPathResult.res +2 -4
  155. package/src/EncryptedMediaExtensions/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  156. package/src/EncryptedMediaExtensions/EncryptedMediaExtensionsTypes.res +43 -0
  157. package/src/{EncryptedMediaExtensionsAPI → EncryptedMediaExtensions}/MediaKeySession.res +10 -10
  158. package/src/{EncryptedMediaExtensionsAPI → EncryptedMediaExtensions}/MediaKeyStatusMap.res +2 -4
  159. package/src/EncryptedMediaExtensions/MediaKeySystemAccess.res +14 -0
  160. package/src/EncryptedMediaExtensions/MediaKeys.res +35 -0
  161. package/src/{EventAPI → Event}/AbortController.res +2 -4
  162. package/src/{EventAPI → Event}/AbortSignal.res +5 -7
  163. package/src/{EventAPI → Event}/Event.res +5 -6
  164. package/src/{EventAPI → Event}/EventTarget.res +14 -16
  165. package/src/{EventAPI.res → Event/EventTypes.res} +10 -10
  166. package/src/{EventAPI → Event}/ExtendableEvent.res +2 -4
  167. package/src/{FetchAPI → Fetch}/BodyInit.res +10 -12
  168. package/src/Fetch/Fetch.res +12 -0
  169. package/src/{FetchAPI.res → Fetch/FetchTypes.res} +19 -21
  170. package/src/{FetchAPI → Fetch}/FormData.res +16 -15
  171. package/src/Fetch/FormDataEntryValue.res +2 -0
  172. package/src/{FetchAPI → Fetch}/Headers.res +10 -12
  173. package/src/{FetchAPI → Fetch}/HeadersInit.res +4 -4
  174. package/src/{FetchAPI → Fetch}/Request.res +16 -11
  175. package/src/{FetchAPI → Fetch}/Response.res +27 -23
  176. package/src/{FileAPI → File}/Blob.res +9 -7
  177. package/src/{FileAPI → File}/File.res +5 -5
  178. package/src/File/FileSystemDirectoryHandle.res +49 -0
  179. package/src/File/FileSystemFileHandle.res +25 -0
  180. package/src/File/FileSystemHandle.res +6 -0
  181. package/src/File/FileSystemWritableFileStream.res +65 -0
  182. package/src/{FileAPI.res → File/FileTypes.res} +22 -23
  183. package/src/File/ReadableStream.res +79 -0
  184. package/src/File/WritableStream.res +27 -0
  185. package/src/{FileAPI → File}/WritableStreamDefaultController.res +1 -3
  186. package/src/FileAndDirectoryEntries/FileAndDirectoryEntriesTypes.res +35 -0
  187. package/src/FileAndDirectoryEntries/FileSystemDirectoryEntry.res +42 -0
  188. package/src/FileAndDirectoryEntries/FileSystemDirectoryReader.res +9 -0
  189. package/src/FileAndDirectoryEntries/FileSystemEntry.res +9 -0
  190. package/src/Gamepad/GamepadHapticActuator.res +16 -0
  191. package/src/{GamepadAPI.res → Gamepad/GamepadTypes.res} +4 -4
  192. package/src/Geolocation/Geolocation.res +31 -0
  193. package/src/{GeolocationAPI → Geolocation}/GeolocationCoordinates.res +1 -3
  194. package/src/{GeolocationAPI → Geolocation}/GeolocationPosition.res +1 -3
  195. package/src/{GeolocationAPI.res → Geolocation/GeolocationTypes.res} +5 -5
  196. package/src/{HistoryAPI → History}/History.res +13 -8
  197. package/src/{HistoryAPI.res → History/HistoryTypes.res} +3 -2
  198. package/src/{IndexedDBAPI → IndexedDB}/IDBDatabase.res +14 -16
  199. package/src/{IndexedDBAPI → IndexedDB}/IDBFactory.res +10 -6
  200. package/src/{IndexedDBAPI → IndexedDB}/IDBIndex.res +22 -17
  201. package/src/{IndexedDBAPI → IndexedDB}/IDBObjectStore.res +44 -33
  202. package/src/{IndexedDBAPI → IndexedDB}/IDBTransaction.res +5 -6
  203. package/src/{IndexedDBAPI.res → IndexedDB/IndexedDbTypes.res} +16 -17
  204. package/src/IntersectionObserver/IntersectionObserver.res +39 -0
  205. package/src/IntersectionObserver/IntersectionObserverRoot.res +21 -0
  206. package/src/{IntersectionObserverAPI.res → IntersectionObserver/IntersectionObserverTypes.res} +7 -9
  207. package/src/MediaCapabilities/MediaCapabilities.res +19 -0
  208. package/src/{MediaCapabilitiesAPI.res → MediaCapabilities/MediaCapabilitiesTypes.res} +3 -3
  209. package/src/{MediaCaptureAndStreamsAPI.res → MediaCaptureAndStreams/MediaCaptureAndStreamsTypes.res} +7 -8
  210. package/src/MediaCaptureAndStreams/MediaDeviceInfo.res +9 -0
  211. package/src/MediaCaptureAndStreams/MediaDevices.res +40 -0
  212. package/src/MediaCaptureAndStreams/MediaStream.res +89 -0
  213. package/src/MediaCaptureAndStreams/MediaStreamTrack.res +51 -0
  214. package/src/MediaSession/MediaMetadata.res +10 -0
  215. package/src/MediaSession/MediaSession.res +25 -0
  216. package/src/{MediaSessionAPI.res → MediaSession/MediaSessionTypes.res} +4 -2
  217. package/src/MutationObserver/MutationObserver.res +31 -0
  218. package/src/{MutationObserverAPI.res → MutationObserver/MutationObserverTypes.res} +3 -5
  219. package/src/Notification/Notification.res +46 -0
  220. package/src/{NotificationAPI.res → Notification/NotificationTypes.res} +5 -7
  221. package/src/Performance/Performance.res +101 -0
  222. package/src/{PerformanceAPI → Performance}/PerformanceEntry.res +1 -3
  223. package/src/Performance/PerformanceMark.res +16 -0
  224. package/src/{PerformanceAPI.res → Performance/PerformanceTypes.res} +9 -12
  225. package/src/Permissions/Permissions.res +10 -0
  226. package/src/{PermissionsAPI.res → Permissions/PermissionsTypes.res} +4 -6
  227. package/src/PictureInPicture/PictureInPicture.res +7 -0
  228. package/src/{PictureInPictureAPI.res → PictureInPicture/PictureInPictureTypes.res} +1 -3
  229. package/src/Push/ApplicationServerKey.res +2 -0
  230. package/src/Push/PushEvent.res +3 -0
  231. package/src/Push/PushManager.res +24 -0
  232. package/src/{PushAPI → Push}/PushMessageData.res +3 -3
  233. package/src/{PushAPI → Push}/PushSubscription.res +4 -5
  234. package/src/{PushAPI.res → Push/PushTypes.res} +6 -8
  235. package/src/RemotePlayback/RemotePlayback.res +25 -0
  236. package/src/{RemotePlaybackAPI.res → RemotePlayback/RemotePlaybackTypes.res} +4 -6
  237. package/src/ResizeObserver/ResizeObserver.res +30 -0
  238. package/src/{ResizeObserverAPI.res → ResizeObserver/ResizeObserverTypes.res} +5 -7
  239. package/src/{ScreenWakeLockAPI.res → ScreenWakeLock/ScreenWakeLockTypes.res} +3 -5
  240. package/src/ScreenWakeLock/WakeLock.res +8 -0
  241. package/src/ScreenWakeLock/WakeLockSentinel.res +7 -0
  242. package/src/ServiceWorker/Cache.res +117 -0
  243. package/src/{ServiceWorkerAPI → ServiceWorker}/Clients.res +14 -7
  244. package/src/{ServiceWorkerAPI → ServiceWorker}/NavigationPreloadManager.res +7 -6
  245. package/src/ServiceWorker/ServiceWorker.res +38 -0
  246. package/src/ServiceWorker/ServiceWorkerContainer.res +34 -0
  247. package/src/{ServiceWorkerAPI → ServiceWorker}/ServiceWorkerRegistration.res +8 -11
  248. package/src/ServiceWorker/ServiceWorkerScope.res +12 -0
  249. package/src/{ServiceWorkerAPI.res → ServiceWorker/ServiceWorkerTypes.res} +18 -23
  250. package/src/{StorageAPI → Storage}/StorageManager.res +5 -7
  251. package/src/{StorageAPI.res → Storage/StorageTypes.res} +1 -1
  252. package/src/UIEvents/CompositionEvent.res +10 -0
  253. package/src/{UIEventsAPI → UIEvents}/DataTransfer.res +10 -8
  254. package/src/{UIEventsAPI → UIEvents}/DataTransferItem.res +5 -8
  255. package/src/{UIEventsAPI → UIEvents}/DataTransferItemList.res +11 -7
  256. package/src/UIEvents/FocusEvent.res +10 -0
  257. package/src/UIEvents/InputEvent.res +16 -0
  258. package/src/UIEvents/KeyboardEvent.res +16 -0
  259. package/src/{UIEventsAPI → UIEvents}/MouseEvent.res +6 -5
  260. package/src/UIEvents/PointerEvent.res +24 -0
  261. package/src/{UIEventsAPI → UIEvents}/Touch.res +1 -3
  262. package/src/UIEvents/TouchEvent.res +10 -0
  263. package/src/{UIEventsAPI → UIEvents}/TouchList.res +1 -3
  264. package/src/UIEvents/UIEvent.res +20 -0
  265. package/src/{UIEventsAPI.res → UIEvents/UiEventsTypes.res} +28 -30
  266. package/src/UIEvents/WheelEvent.res +10 -0
  267. package/src/{URLAPI → URL}/URL.res +6 -5
  268. package/src/{URLAPI → URL}/URLSearchParams.res +20 -17
  269. package/src/{URLAPI.res → URL/UrlTypes.res} +5 -4
  270. package/src/{ViewTransitionsAPI → ViewTransitions}/ViewTransition.res +1 -3
  271. package/src/{ViewTransitionsAPI.res → ViewTransitions/ViewTransitionsTypes.res} +1 -1
  272. package/src/VisualViewport/VisualViewport.res +5 -0
  273. package/src/{VisualViewportAPI.res → VisualViewport/VisualViewportTypes.res} +2 -4
  274. package/src/WebAudio/AnalyserNode.res +38 -0
  275. package/src/{WebAudioAPI → WebAudio}/AudioBuffer.res +4 -6
  276. package/src/{WebAudioAPI → WebAudio}/AudioBufferSourceNode.res +5 -7
  277. package/src/WebAudio/AudioContext.res +59 -0
  278. package/src/WebAudio/AudioDestinationNode.res +1 -0
  279. package/src/{WebAudioAPI → WebAudio}/AudioNode.res +21 -12
  280. package/src/{WebAudioAPI → WebAudio}/AudioParam.res +23 -14
  281. package/src/WebAudio/AudioProcessingEvent.res +10 -0
  282. package/src/{WebAudioAPI → WebAudio}/AudioScheduledSourceNode.res +2 -4
  283. package/src/WebAudio/AudioWorkletNode.res +11 -0
  284. package/src/{WebAudioAPI → WebAudio}/BaseAudioContext.res +26 -25
  285. package/src/{WebAudioAPI → WebAudio}/BiquadFilterNode.res +6 -6
  286. package/src/WebAudio/ChannelMergerNode.res +10 -0
  287. package/src/WebAudio/ChannelSplitterNode.res +10 -0
  288. package/src/WebAudio/ConstantSourceNode.res +10 -0
  289. package/src/WebAudio/ConvolverNode.res +10 -0
  290. package/src/WebAudio/DelayNode.res +10 -0
  291. package/src/WebAudio/DynamicsCompressorNode.res +10 -0
  292. package/src/WebAudio/GainNode.res +10 -0
  293. package/src/{WebAudioAPI → WebAudio}/IIRFilterNode.res +6 -6
  294. package/src/WebAudio/MediaElementAudioSourceNode.res +10 -0
  295. package/src/WebAudio/MediaStreamAudioDestinationNode.res +10 -0
  296. package/src/WebAudio/MediaStreamAudioSourceNode.res +10 -0
  297. package/src/WebAudio/OfflineAudioCompletionEvent.res +10 -0
  298. package/src/WebAudio/OfflineAudioContext.res +58 -0
  299. package/src/WebAudio/OscillatorNode.res +17 -0
  300. package/src/WebAudio/PannerNode.res +10 -0
  301. package/src/WebAudio/PeriodicWave.res +8 -0
  302. package/src/WebAudio/StereoPannerNode.res +10 -0
  303. package/src/WebAudio/WaveShaperNode.res +10 -0
  304. package/src/{WebAudioAPI.res → WebAudio/WebAudioTypes.res} +55 -42
  305. package/src/{WebAudioAPI → WebAudio}/Worklet.res +5 -4
  306. package/src/{WebCryptoAPI → WebCrypto}/Crypto.res +2 -4
  307. package/src/WebCrypto/SubtleCrypto.res +173 -0
  308. package/src/{WebCryptoAPI.res → WebCrypto/WebCryptoTypes.res} +3 -5
  309. package/src/WebLocks/LockManager.res +26 -0
  310. package/src/{WebLocksAPI.res → WebLocks/WebLocksTypes.res} +2 -4
  311. package/src/WebMIDI/WebMIDI.res +7 -0
  312. package/src/{WebMIDIAPI.res → WebMIDI/WebMidiTypes.res} +1 -3
  313. package/src/WebSockets/CloseEvent.res +10 -0
  314. package/src/{WebSocketsAPI → WebSockets}/MessageEvent.res +14 -9
  315. package/src/WebSockets/WebSocket.res +71 -0
  316. package/src/{WebSocketsAPI.res → WebSockets/WebSocketsTypes.res} +12 -15
  317. package/src/{WebSpeechAPI → WebSpeech}/SpeechSynthesis.res +8 -8
  318. package/src/WebSpeech/SpeechSynthesisUtterance.res +8 -0
  319. package/src/{WebSpeechAPI.res → WebSpeech/WebSpeechTypes.res} +4 -5
  320. package/src/{WebStorageAPI → WebStorage}/Storage.res +8 -10
  321. package/src/WebStorage/StorageEvent.res +10 -0
  322. package/src/{WebStorageAPI.res → WebStorage/WebStorageTypes.res} +9 -11
  323. package/src/{WebVTTAPI → WebVTT}/TextTrack.res +3 -5
  324. package/src/{WebVTTAPI → WebVTT}/TextTrackCueList.res +2 -3
  325. package/src/{WebVTTAPI.res → WebVTT/WebVttTypes.res} +5 -5
  326. package/src/WebWorkers/CacheStorage.res +43 -0
  327. package/src/{WebWorkersAPI → WebWorkers}/SharedWorker.res +13 -12
  328. package/src/{WebWorkersAPI/SharedWorkerGlobalScope.res → WebWorkers/SharedWorkerScope.res} +6 -4
  329. package/src/{WebWorkersAPI.res → WebWorkers/WebWorkersTypes.res} +7 -10
  330. package/src/{WebWorkersAPI/WorkerGlobalScope.res → WebWorkers/Worker.res} +8 -8
  331. package/src/CSSFontLoadingAPI/FontFace.res +0 -34
  332. package/src/CSSFontLoadingAPI/FontFaceSet.res +0 -33
  333. package/src/CanvasAPI/FillStyle.res +0 -24
  334. package/src/ClipboardAPI/Clipboard.res +0 -27
  335. package/src/CredentialManagementAPI/CredentialsContainer.res +0 -29
  336. package/src/DOMAPI/CSSStyleSheet.res +0 -32
  337. package/src/DOMAPI/CaretPosition.res +0 -4
  338. package/src/DOMAPI/Comment.res +0 -9
  339. package/src/DOMAPI/DOMMatrix.res +0 -169
  340. package/src/DOMAPI/DOMMatrixReadOnly.res +0 -103
  341. package/src/DOMAPI/DOMPoint.res +0 -29
  342. package/src/DOMAPI/DOMRectList.res +0 -4
  343. package/src/DOMAPI/DOMRectReadOnly.res +0 -17
  344. package/src/DOMAPI/DocumentTimeline.res +0 -9
  345. package/src/DOMAPI/HTMLAnchorElement.res +0 -3
  346. package/src/DOMAPI/HTMLAreaElement.res +0 -3
  347. package/src/DOMAPI/HTMLAudioElement.res +0 -3
  348. package/src/DOMAPI/HTMLBRElement.res +0 -3
  349. package/src/DOMAPI/HTMLBaseElement.res +0 -3
  350. package/src/DOMAPI/HTMLBodyElement.res +0 -3
  351. package/src/DOMAPI/HTMLDListElement.res +0 -3
  352. package/src/DOMAPI/HTMLDataElement.res +0 -3
  353. package/src/DOMAPI/HTMLDataListElement.res +0 -3
  354. package/src/DOMAPI/HTMLDivElement.res +0 -3
  355. package/src/DOMAPI/HTMLEmbedElement.res +0 -6
  356. package/src/DOMAPI/HTMLFormControlsCollection.res +0 -16
  357. package/src/DOMAPI/HTMLFrameSetElement.res +0 -3
  358. package/src/DOMAPI/HTMLHRElement.res +0 -3
  359. package/src/DOMAPI/HTMLHeadElement.res +0 -3
  360. package/src/DOMAPI/HTMLHeadingElement.res +0 -3
  361. package/src/DOMAPI/HTMLHtmlElement.res +0 -3
  362. package/src/DOMAPI/HTMLIFrameElement.res +0 -6
  363. package/src/DOMAPI/HTMLImageElement.res +0 -9
  364. package/src/DOMAPI/HTMLLIElement.res +0 -3
  365. package/src/DOMAPI/HTMLLabelElement.res +0 -3
  366. package/src/DOMAPI/HTMLLegendElement.res +0 -3
  367. package/src/DOMAPI/HTMLLinkElement.res +0 -3
  368. package/src/DOMAPI/HTMLMapElement.res +0 -3
  369. package/src/DOMAPI/HTMLMenuElement.res +0 -3
  370. package/src/DOMAPI/HTMLMetaElement.res +0 -3
  371. package/src/DOMAPI/HTMLMeterElement.res +0 -3
  372. package/src/DOMAPI/HTMLModElement.res +0 -3
  373. package/src/DOMAPI/HTMLOListElement.res +0 -3
  374. package/src/DOMAPI/HTMLOptGroupElement.res +0 -3
  375. package/src/DOMAPI/HTMLOptionElement.res +0 -3
  376. package/src/DOMAPI/HTMLParagraphElement.res +0 -3
  377. package/src/DOMAPI/HTMLPictureElement.res +0 -3
  378. package/src/DOMAPI/HTMLPreElement.res +0 -3
  379. package/src/DOMAPI/HTMLProgressElement.res +0 -3
  380. package/src/DOMAPI/HTMLQuoteElement.res +0 -3
  381. package/src/DOMAPI/HTMLSlotElement.res +0 -29
  382. package/src/DOMAPI/HTMLSourceElement.res +0 -3
  383. package/src/DOMAPI/HTMLSpanElement.res +0 -3
  384. package/src/DOMAPI/HTMLStyleElement.res +0 -3
  385. package/src/DOMAPI/HTMLTableCaptionElement.res +0 -3
  386. package/src/DOMAPI/HTMLTableCellElement.res +0 -3
  387. package/src/DOMAPI/HTMLTemplateElement.res +0 -3
  388. package/src/DOMAPI/HTMLTimeElement.res +0 -3
  389. package/src/DOMAPI/HTMLTitleElement.res +0 -3
  390. package/src/DOMAPI/HTMLTrackElement.res +0 -3
  391. package/src/DOMAPI/HTMLUListElement.res +0 -3
  392. package/src/DOMAPI/HTMLVideoElement.res +0 -31
  393. package/src/DOMAPI/MediaQueryList.res +0 -3
  394. package/src/DOMAPI/Navigator.res +0 -115
  395. package/src/DOMAPI/NodeFilter.res +0 -4
  396. package/src/DOMAPI/SVGGraphicsElement.res +0 -17
  397. package/src/DOMAPI/ScreenOrientation.res +0 -9
  398. package/src/DOMAPI/ShadowRoot.res +0 -21
  399. package/src/DOMAPI/StylePropertyMap.res +0 -50
  400. package/src/DOMAPI/TextTrackList.res +0 -10
  401. package/src/DOMAPI/VideoFrame.res +0 -111
  402. package/src/DOMAPI/Window.res +0 -517
  403. package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +0 -13
  404. package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +0 -27
  405. package/src/FetchAPI/FormDataEntryValue.res +0 -22
  406. package/src/FileAPI/FileSystemDirectoryHandle.res +0 -45
  407. package/src/FileAPI/FileSystemFileHandle.res +0 -23
  408. package/src/FileAPI/FileSystemHandle.res +0 -7
  409. package/src/FileAPI/FileSystemWritableFileStream.res +0 -62
  410. package/src/FileAPI/ReadableStream.res +0 -60
  411. package/src/FileAPI/WritableStream.res +0 -28
  412. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +0 -42
  413. package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +0 -11
  414. package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +0 -11
  415. package/src/GamepadAPI/GamepadHapticActuator.res +0 -17
  416. package/src/GeolocationAPI/Geolocation.res +0 -29
  417. package/src/IntersectionObserverAPI/IntersectionObserver.res +0 -35
  418. package/src/IntersectionObserverAPI/IntersectionObserverRoot.res +0 -22
  419. package/src/MediaCapabilitiesAPI/MediaCapabilities.res +0 -19
  420. package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +0 -7
  421. package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +0 -34
  422. package/src/MediaCaptureAndStreamsAPI/MediaStream.res +0 -63
  423. package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +0 -42
  424. package/src/MediaSessionAPI/MediaMetadata.res +0 -7
  425. package/src/MediaSessionAPI/MediaSession.res +0 -17
  426. package/src/MutationObserverAPI/MutationObserver.res +0 -27
  427. package/src/NotificationAPI/Notification.res +0 -29
  428. package/src/PerformanceAPI/Performance.res +0 -90
  429. package/src/PerformanceAPI/PerformanceMark.res +0 -15
  430. package/src/PermissionsAPI/Permissions.res +0 -7
  431. package/src/Prelude/DOMException.res +0 -7
  432. package/src/Prelude.res +0 -37
  433. package/src/PushAPI/ApplicationServerKey.res +0 -4
  434. package/src/PushAPI/PushEvent.res +0 -3
  435. package/src/PushAPI/PushManager.res +0 -25
  436. package/src/RemotePlaybackAPI/RemotePlayback.res +0 -23
  437. package/src/ResizeObserverAPI/ResizeObserver.res +0 -27
  438. package/src/ScreenWakeLockAPI/WakeLock.res +0 -7
  439. package/src/ScreenWakeLockAPI/WakeLockSentinel.res +0 -9
  440. package/src/ServiceWorkerAPI/Cache.res +0 -100
  441. package/src/ServiceWorkerAPI/ServiceWorker.res +0 -21
  442. package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +0 -35
  443. package/src/ServiceWorkerAPI/ServiceWorkerGlobalScope.res +0 -10
  444. package/src/UIEventsAPI/CompositionEvent.res +0 -10
  445. package/src/UIEventsAPI/FocusEvent.res +0 -9
  446. package/src/UIEventsAPI/InputEvent.res +0 -16
  447. package/src/UIEventsAPI/KeyboardEvent.res +0 -16
  448. package/src/UIEventsAPI/PointerEvent.res +0 -21
  449. package/src/UIEventsAPI/TouchEvent.res +0 -9
  450. package/src/UIEventsAPI/UIEvent.res +0 -19
  451. package/src/UIEventsAPI/WheelEvent.res +0 -9
  452. package/src/WebAudioAPI/AnalyserNode.res +0 -34
  453. package/src/WebAudioAPI/AudioContext.res +0 -56
  454. package/src/WebAudioAPI/AudioDestinationNode.res +0 -3
  455. package/src/WebAudioAPI/AudioProcessingEvent.res +0 -10
  456. package/src/WebAudioAPI/AudioWorkletNode.res +0 -13
  457. package/src/WebAudioAPI/ChannelMergerNode.res +0 -10
  458. package/src/WebAudioAPI/ChannelSplitterNode.res +0 -12
  459. package/src/WebAudioAPI/ConstantSourceNode.res +0 -12
  460. package/src/WebAudioAPI/ConvolverNode.res +0 -10
  461. package/src/WebAudioAPI/DelayNode.res +0 -9
  462. package/src/WebAudioAPI/DynamicsCompressorNode.res +0 -12
  463. package/src/WebAudioAPI/GainNode.res +0 -9
  464. package/src/WebAudioAPI/MediaElementAudioSourceNode.res +0 -12
  465. package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +0 -12
  466. package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +0 -12
  467. package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +0 -12
  468. package/src/WebAudioAPI/OfflineAudioContext.res +0 -34
  469. package/src/WebAudioAPI/OscillatorNode.res +0 -16
  470. package/src/WebAudioAPI/PannerNode.res +0 -9
  471. package/src/WebAudioAPI/PeriodicWave.res +0 -8
  472. package/src/WebAudioAPI/StereoPannerNode.res +0 -10
  473. package/src/WebAudioAPI/WaveShaperNode.res +0 -10
  474. package/src/WebCryptoAPI/SubtleCrypto.res +0 -173
  475. package/src/WebLocksAPI/LockManager.res +0 -25
  476. package/src/WebSocketsAPI/CloseEvent.res +0 -9
  477. package/src/WebSocketsAPI/WebSocket.res +0 -51
  478. package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +0 -9
  479. package/src/WebStorageAPI/StorageEvent.res +0 -9
  480. package/src/WebWorkersAPI/CacheStorage.res +0 -46
@@ -1,8 +1,5 @@
1
1
  @@warning("-30")
2
2
 
3
- open Prelude
4
- open EventAPI
5
-
6
3
  type offscreenRenderingContextId =
7
4
  | @as("2d") V2d
8
5
  | @as("bitmaprenderer") Bitmaprenderer
@@ -121,10 +118,11 @@ type webGLPowerPreference =
121
118
 
122
119
  /**
123
120
  [See OffscreenCanvas on MDN](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas)
121
+ TODO: mark as private once mutating fields of private records is allowed
124
122
  */
125
123
  @editor.completeFrom(OffscreenCanvas)
126
124
  type offscreenCanvas = {
127
- ...eventTarget,
125
+ ...EventTypes.eventTarget,
128
126
  /**
129
127
  These attributes return the dimensions of the OffscreenCanvas object's bitmap.
130
128
 
@@ -145,7 +143,7 @@ They can be set, to replace the bitmap with a new, transparent black bitmap of t
145
143
  [See ImageBitmap on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmap)
146
144
  */
147
145
  @editor.completeFrom(ImageBitmap)
148
- type imageBitmap = {
146
+ type imageBitmap = private {
149
147
  /**
150
148
  Returns the intrinsic width of the image, in CSS pixels.
151
149
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmap/width)
@@ -276,7 +274,7 @@ type offscreenCanvasRenderingContext2D = {
276
274
  [See ImageBitmapRenderingContext on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext)
277
275
  */
278
276
  @editor.completeFrom(ImageBitmapRenderingContext)
279
- type imageBitmapRenderingContext = {
277
+ type imageBitmapRenderingContext = private {
280
278
  /**
281
279
  Returns the canvas element that the context is bound to.
282
280
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext/canvas)
@@ -342,21 +340,21 @@ An opaque object describing a gradient. It is returned by the methods CanvasRend
342
340
  [See CanvasGradient on MDN](https://developer.mozilla.org/docs/Web/API/CanvasGradient)
343
341
  */
344
342
  @editor.completeFrom(CanvasGradient)
345
- type canvasGradient = {}
343
+ type canvasGradient = private {}
346
344
 
347
345
  /**
348
346
  An opaque object describing a pattern, based on an image, a canvas, or a video, created by the CanvasRenderingContext2D.createPattern() method.
349
347
  [See CanvasPattern on MDN](https://developer.mozilla.org/docs/Web/API/CanvasPattern)
350
348
  */
351
349
  @editor.completeFrom(CanvasPattern)
352
- type canvasPattern = {}
350
+ type canvasPattern = private {}
353
351
 
354
352
  /**
355
- This Canvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.
353
+ This WebApiCanvas 2D API interface is used to declare a path that can then be used on a CanvasRenderingContext2D object. The path methods of the CanvasRenderingContext2D interface are also present on this interface, which gives you the convenience of being able to retain and replay your path whenever desired.
356
354
  [See Path2D on MDN](https://developer.mozilla.org/docs/Web/API/Path2D)
357
355
  */
358
356
  @editor.completeFrom(Path2D)
359
- type path2D = {}
357
+ type path2D = private {}
360
358
 
361
359
  /**
362
360
  The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method.
@@ -425,7 +423,7 @@ type textMetrics = {
425
423
  ideographicBaseline: float,
426
424
  }
427
425
 
428
- type offscreenRenderingContext = any
426
+ type offscreenRenderingContext = unknown
429
427
 
430
428
  type imageEncodeOptions = {
431
429
  @as("type") mutable type_?: string,
@@ -0,0 +1,25 @@
1
+ external fromString: string => CanvasTypes.fillStyle = "%identity"
2
+ external fromCanvasGradient: CanvasTypes.canvasGradient => CanvasTypes.fillStyle = "%identity"
3
+ external fromCanvasPattern: CanvasTypes.canvasPattern => CanvasTypes.fillStyle = "%identity"
4
+
5
+ external toString: CanvasTypes.fillStyle => string = "%identity"
6
+ external toCanvasGradient: CanvasTypes.fillStyle => CanvasTypes.canvasGradient = "%identity"
7
+ external toCanvasPattern: CanvasTypes.fillStyle => CanvasTypes.canvasPattern = "%identity"
8
+
9
+ /**
10
+ Represents a decoded version of the abstract `fillStyle` type, used in Context2D.
11
+ */
12
+ type decoded =
13
+ | String(string)
14
+ | CanvasGradient(CanvasTypes.canvasGradient)
15
+ | CanvasPattern(CanvasTypes.canvasPattern)
16
+
17
+ let decode = (t: CanvasTypes.fillStyle): decoded => {
18
+ if CanvasGradient.isInstanceOf(t) {
19
+ CanvasGradient(toCanvasGradient(t))
20
+ } else if CanvasPattern.isInstanceOf(t) {
21
+ CanvasPattern(toCanvasPattern(t))
22
+ } else {
23
+ String(toString(t))
24
+ }
25
+ }
@@ -1,8 +1,4 @@
1
- open DOMAPI
2
- open CanvasAPI
3
- open MediaCaptureAndStreamsAPI
4
-
5
- include HTMLElement.Impl({type t = htmlCanvasElement})
1
+ include HTMLElement.Impl({type t = DomTypes.htmlCanvasElement})
6
2
 
7
3
  /**
8
4
  Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
@@ -12,10 +8,10 @@ Creates a CanvasRenderingContext2D object representing a two-dimensional renderi
12
8
  */
13
9
  @send
14
10
  external getContext2D: (
15
- htmlCanvasElement,
11
+ DomTypes.htmlCanvasElement,
16
12
  @as("2d") _,
17
- ~options: canvasRenderingContext2DSettings=?,
18
- ) => canvasRenderingContext2D = "getContext"
13
+ ~options: CanvasTypes.canvasRenderingContext2DSettings=?,
14
+ ) => DomTypes.canvasRenderingContext2D = "getContext"
19
15
 
20
16
  /**
21
17
  Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
@@ -24,10 +20,10 @@ Returns an object that provides methods and properties for drawing and manipulat
24
20
  */
25
21
  @send
26
22
  external getContextWebGL: (
27
- htmlCanvasElement,
23
+ DomTypes.htmlCanvasElement,
28
24
  @as("webgl") _,
29
- ~options: webGLContextAttributes=?,
30
- ) => webGLRenderingContext = "getContext"
25
+ ~options: CanvasTypes.webGLContextAttributes=?,
26
+ ) => CanvasTypes.webGLRenderingContext = "getContext"
31
27
 
32
28
  /**
33
29
  Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
@@ -36,10 +32,10 @@ Returns an object that provides methods and properties for drawing and manipulat
36
32
  */
37
33
  @send
38
34
  external getContextWebGL2: (
39
- htmlCanvasElement,
35
+ DomTypes.htmlCanvasElement,
40
36
  @as("webgl2") _,
41
- ~options: webGLContextAttributes=?,
42
- ) => webGL2RenderingContext = "getContext"
37
+ ~options: CanvasTypes.webGLContextAttributes=?,
38
+ ) => CanvasTypes.webGL2RenderingContext = "getContext"
43
39
 
44
40
  /**
45
41
  Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas.
@@ -48,10 +44,10 @@ Returns an object that provides methods and properties for drawing and manipulat
48
44
  */
49
45
  @send
50
46
  external getContextBitmapRenderer: (
51
- htmlCanvasElement,
47
+ DomTypes.htmlCanvasElement,
52
48
  @as("bitmaprenderer") _,
53
- ~options: imageBitmapRenderingContextSettings=?,
54
- ) => imageBitmapRenderingContext = "getContext"
49
+ ~options: CanvasTypes.imageBitmapRenderingContextSettings=?,
50
+ ) => CanvasTypes.imageBitmapRenderingContext = "getContext"
55
51
 
56
52
  /**
57
53
  Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element.
@@ -59,7 +55,7 @@ Returns the content of the current canvas as an image that you can use as a sour
59
55
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/toDataURL)
60
56
  */
61
57
  @send
62
- external toDataURL: (htmlCanvasElement, ~type_: string=?, ~quality: JSON.t=?) => string =
58
+ external toDataURL: (DomTypes.htmlCanvasElement, ~type_: string=?, ~quality: JSON.t=?) => string =
63
59
  "toDataURL"
64
60
 
65
61
  /**
@@ -67,8 +63,8 @@ external toDataURL: (htmlCanvasElement, ~type_: string=?, ~quality: JSON.t=?) =>
67
63
  */
68
64
  @send
69
65
  external toBlob: (
70
- htmlCanvasElement,
71
- ~callback: blobCallback,
66
+ DomTypes.htmlCanvasElement,
67
+ ~callback: FileTypes.blob => unit,
72
68
  ~type_: string=?,
73
69
  ~quality: JSON.t=?,
74
70
  ) => unit = "toBlob"
@@ -77,12 +73,14 @@ external toBlob: (
77
73
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/transferControlToOffscreen)
78
74
  */
79
75
  @send
80
- external transferControlToOffscreen: htmlCanvasElement => offscreenCanvas =
76
+ external transferControlToOffscreen: DomTypes.htmlCanvasElement => CanvasTypes.offscreenCanvas =
81
77
  "transferControlToOffscreen"
82
78
 
83
79
  /**
84
80
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/captureStream)
85
81
  */
86
82
  @send
87
- external captureStream: (htmlCanvasElement, ~frameRequestRate: float=?) => mediaStream =
88
- "captureStream"
83
+ external captureStream: (
84
+ DomTypes.htmlCanvasElement,
85
+ ~frameRequestRate: float=?,
86
+ ) => MediaCaptureAndStreamsTypes.mediaStream = "captureStream"
@@ -1,8 +1,6 @@
1
- open CanvasAPI
2
-
3
1
  /**
4
2
  Releases imageBitmap's underlying bitmap data.
5
3
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmap/close)
6
4
  */
7
5
  @send
8
- external close: imageBitmap => unit = "close"
6
+ external close: CanvasTypes.imageBitmap => unit = "close"
@@ -1,9 +1,9 @@
1
- open CanvasAPI
2
-
3
1
  /**
4
2
  Transfers the underlying bitmap data from imageBitmap to context, and the bitmap becomes the contents of the canvas element to which context is bound.
5
3
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/ImageBitmapRenderingContext/transferFromImageBitmap)
6
4
  */
7
5
  @send
8
- external transferFromImageBitmap: (imageBitmapRenderingContext, imageBitmap) => unit =
9
- "transferFromImageBitmap"
6
+ external transferFromImageBitmap: (
7
+ CanvasTypes.imageBitmapRenderingContext,
8
+ CanvasTypes.imageBitmap,
9
+ ) => unit = "transferFromImageBitmap"
@@ -1,13 +1,10 @@
1
- open CanvasAPI
2
- open FileAPI
3
-
4
1
  /**
5
2
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas)
6
3
  */
7
4
  @new
8
- external make: (~width: int, ~height: int) => offscreenCanvas = "OffscreenCanvas"
5
+ external make: (~width: int, ~height: int) => CanvasTypes.offscreenCanvas = "OffscreenCanvas"
9
6
 
10
- include EventTarget.Impl({type t = offscreenCanvas})
7
+ include EventTarget.Impl({type t = CanvasTypes.offscreenCanvas})
11
8
 
12
9
  /**
13
10
  Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
@@ -19,10 +16,10 @@ Returns null if the canvas has already been initialized with another context typ
19
16
  */
20
17
  @send
21
18
  external getContext2D: (
22
- offscreenCanvas,
19
+ CanvasTypes.offscreenCanvas,
23
20
  @as("2d") _,
24
21
  ~options: JSON.t=?,
25
- ) => offscreenCanvasRenderingContext2D = "getContext"
22
+ ) => CanvasTypes.offscreenCanvasRenderingContext2D = "getContext"
26
23
 
27
24
  /**
28
25
  Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
@@ -34,10 +31,10 @@ Returns null if the canvas has already been initialized with another context typ
34
31
  */
35
32
  @send
36
33
  external getContextWebGL: (
37
- offscreenCanvas,
34
+ CanvasTypes.offscreenCanvas,
38
35
  @as("webgl") _,
39
- ~options: webGLContextAttributes=?,
40
- ) => webGLRenderingContext = "getContext"
36
+ ~options: CanvasTypes.webGLContextAttributes=?,
37
+ ) => CanvasTypes.webGLRenderingContext = "getContext"
41
38
 
42
39
  /**
43
40
  Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
@@ -49,10 +46,10 @@ Returns null if the canvas has already been initialized with another context typ
49
46
  */
50
47
  @send
51
48
  external getContextWebGL2: (
52
- offscreenCanvas,
49
+ CanvasTypes.offscreenCanvas,
53
50
  @as("webgl2") _,
54
- ~options: webGLContextAttributes=?,
55
- ) => webGL2RenderingContext = "getContext"
51
+ ~options: CanvasTypes.webGLContextAttributes=?,
52
+ ) => CanvasTypes.webGL2RenderingContext = "getContext"
56
53
 
57
54
  /**
58
55
  Returns an object that exposes an API for drawing on the OffscreenCanvas object. contextId specifies the desired API: "2d", "bitmaprenderer", "webgl", or "webgl2". options is handled by that API.
@@ -64,17 +61,18 @@ Returns null if the canvas has already been initialized with another context typ
64
61
  */
65
62
  @send
66
63
  external getContextBitmapRenderer: (
67
- offscreenCanvas,
64
+ CanvasTypes.offscreenCanvas,
68
65
  @as("bitmaprenderer") _,
69
- ~options: imageBitmapRenderingContextSettings=?,
70
- ) => imageBitmapRenderingContext = "getContext"
66
+ ~options: CanvasTypes.imageBitmapRenderingContextSettings=?,
67
+ ) => CanvasTypes.imageBitmapRenderingContext = "getContext"
71
68
 
72
69
  /**
73
70
  Returns a newly created ImageBitmap object with the image in the OffscreenCanvas object. The image in the OffscreenCanvas object is replaced with a new blank image.
74
71
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/transferToImageBitmap)
75
72
  */
76
73
  @send
77
- external transferToImageBitmap: offscreenCanvas => imageBitmap = "transferToImageBitmap"
74
+ external transferToImageBitmap: CanvasTypes.offscreenCanvas => CanvasTypes.imageBitmap =
75
+ "transferToImageBitmap"
78
76
 
79
77
  /**
80
78
  Returns a promise that will fulfill with a new Blob object representing a file containing the image in the OffscreenCanvas object.
@@ -83,5 +81,7 @@ The argument, if provided, is a dictionary that controls the encoding options of
83
81
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/convertToBlob)
84
82
  */
85
83
  @send
86
- external convertToBlob: (offscreenCanvas, ~options: imageEncodeOptions=?) => promise<blob> =
87
- "convertToBlob"
84
+ external convertToBlob: (
85
+ CanvasTypes.offscreenCanvas,
86
+ ~options: CanvasTypes.imageEncodeOptions=?,
87
+ ) => promise<Blob.t> = "convertToBlob"
@@ -1,49 +1,83 @@
1
- open CanvasAPI
2
- open DOMAPI
1
+ type domMatrix2DInit = DomTypes.domMatrix2DInit
3
2
 
4
3
  /**
4
+ `make()`
5
+
6
+ Creates a new empty `Path2D`.
7
+
8
+ ```res
9
+ let path = Path2D.make()
10
+ ```
11
+
5
12
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Path2D)
6
13
  */
7
14
  @new
8
- external make: (~path: path2D=?) => path2D = "Path2D"
15
+ external make: unit => CanvasTypes.path2D = "Path2D"
9
16
 
10
17
  /**
18
+ `fromPath2D(path2D)`
19
+
20
+ Creates a new `Path2D` by copying another `Path2D`.
21
+
22
+ ```res
23
+ let copiedPath = Path2D.fromPath2D(existingPath)
24
+ ```
25
+
11
26
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Path2D)
12
27
  */
13
28
  @new
14
- external make2: (~path: string=?) => path2D = "Path2D"
29
+ external fromPath2D: CanvasTypes.path2D => CanvasTypes.path2D = "Path2D"
30
+
31
+ /**
32
+ `fromString(string)`
33
+
34
+ Creates a new `Path2D` from SVG path data text.
35
+
36
+ ```res
37
+ let path = Path2D.fromString("M0 0 L10 10")
38
+ ```
39
+
40
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Path2D)
41
+ */
42
+ @new
43
+ external fromString: string => CanvasTypes.path2D = "Path2D"
15
44
 
16
45
  /**
17
46
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/closePath)
18
47
  */
19
48
  @send
20
- external closePath: path2D => unit = "closePath"
49
+ external closePath: CanvasTypes.path2D => unit = "closePath"
21
50
 
22
51
  /**
23
52
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/moveTo)
24
53
  */
25
54
  @send
26
- external moveTo: (path2D, ~x: float, ~y: float) => unit = "moveTo"
55
+ external moveTo: (CanvasTypes.path2D, ~x: float, ~y: float) => unit = "moveTo"
27
56
 
28
57
  /**
29
58
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/lineTo)
30
59
  */
31
60
  @send
32
- external lineTo: (path2D, ~x: float, ~y: float) => unit = "lineTo"
61
+ external lineTo: (CanvasTypes.path2D, ~x: float, ~y: float) => unit = "lineTo"
33
62
 
34
63
  /**
35
64
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/quadraticCurveTo)
36
65
  */
37
66
  @send
38
- external quadraticCurveTo: (path2D, ~cpx: float, ~cpy: float, ~x: float, ~y: float) => unit =
39
- "quadraticCurveTo"
67
+ external quadraticCurveTo: (
68
+ CanvasTypes.path2D,
69
+ ~cpx: float,
70
+ ~cpy: float,
71
+ ~x: float,
72
+ ~y: float,
73
+ ) => unit = "quadraticCurveTo"
40
74
 
41
75
  /**
42
76
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/bezierCurveTo)
43
77
  */
44
78
  @send
45
79
  external bezierCurveTo: (
46
- path2D,
80
+ CanvasTypes.path2D,
47
81
  ~cp1x: float,
48
82
  ~cp1y: float,
49
83
  ~cp2x: float,
@@ -56,21 +90,27 @@ external bezierCurveTo: (
56
90
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/arcTo)
57
91
  */
58
92
  @send
59
- external arcTo: (path2D, ~x1: float, ~y1: float, ~x2: float, ~y2: float, ~radius: float) => unit =
60
- "arcTo"
93
+ external arcTo: (
94
+ CanvasTypes.path2D,
95
+ ~x1: float,
96
+ ~y1: float,
97
+ ~x2: float,
98
+ ~y2: float,
99
+ ~radius: float,
100
+ ) => unit = "arcTo"
61
101
 
62
102
  /**
63
103
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/rect)
64
104
  */
65
105
  @send
66
- external rect: (path2D, ~x: float, ~y: float, ~w: float, ~h: float) => unit = "rect"
106
+ external rect: (CanvasTypes.path2D, ~x: float, ~y: float, ~w: float, ~h: float) => unit = "rect"
67
107
 
68
108
  /**
69
109
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/roundRect)
70
110
  */
71
111
  @send
72
112
  external roundRect: (
73
- path2D,
113
+ CanvasTypes.path2D,
74
114
  ~x: float,
75
115
  ~y: float,
76
116
  ~w: float,
@@ -83,7 +123,7 @@ external roundRect: (
83
123
  */
84
124
  @send
85
125
  external roundRect2: (
86
- path2D,
126
+ CanvasTypes.path2D,
87
127
  ~x: float,
88
128
  ~y: float,
89
129
  ~w: float,
@@ -96,7 +136,7 @@ external roundRect2: (
96
136
  */
97
137
  @send
98
138
  external roundRect3: (
99
- path2D,
139
+ CanvasTypes.path2D,
100
140
  ~x: float,
101
141
  ~y: float,
102
142
  ~w: float,
@@ -109,7 +149,7 @@ external roundRect3: (
109
149
  */
110
150
  @send
111
151
  external arc: (
112
- path2D,
152
+ CanvasTypes.path2D,
113
153
  ~x: float,
114
154
  ~y: float,
115
155
  ~radius: float,
@@ -123,7 +163,7 @@ external arc: (
123
163
  */
124
164
  @send
125
165
  external ellipse: (
126
- path2D,
166
+ CanvasTypes.path2D,
127
167
  ~x: float,
128
168
  ~y: float,
129
169
  ~radiusX: float,
@@ -139,4 +179,8 @@ Adds to the path the path given by the argument.
139
179
  [Read more on MDN](https://developer.mozilla.org/docs/Web/API/Path2D/addPath)
140
180
  */
141
181
  @send
142
- external addPath: (path2D, ~path: path2D, ~transform: domMatrix2DInit=?) => unit = "addPath"
182
+ external addPath: (
183
+ CanvasTypes.path2D,
184
+ ~path: CanvasTypes.path2D,
185
+ ~transform: domMatrix2DInit=?,
186
+ ) => unit = "addPath"