@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
package/README.md CHANGED
@@ -16,15 +16,20 @@ and add `@rescript/webapi` to your `rescript.json`:
16
16
 
17
17
  ```json
18
18
  {
19
- "bs-dependencies": [
20
- + "@rescript/webapi",
21
- ],
22
- "bsc-flags": [
23
- + "-open WebAPI.Global"
19
+ "dependencies": [
20
+ "@rescript/webapi"
24
21
  ]
25
22
  }
26
23
  ```
27
24
 
25
+ ## Usage
26
+
27
+ ```rescript
28
+ let location = WebAPI.Window.current->WebAPI.Window.location
29
+ let href = location.href
30
+ location->WebAPI.Location.reload
31
+ ```
32
+
28
33
  ## Documentation
29
34
 
30
35
  More information can be found on https://rescript-lang.github.io/experimental-rescript-webapi/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rescript/webapi",
3
- "version": "0.1.0-experimental-61b1074",
3
+ "version": "0.1.0-experimental-0781ac8",
4
4
  "description": "Experimental successor to [rescript-webapi](https://github.com/TheSpyder/rescript-webapi)",
5
5
  "keywords": [
6
6
  "dom",
@@ -24,7 +24,9 @@
24
24
  },
25
25
  "files": [
26
26
  "rescript.json",
27
- "src/**/*.res"
27
+ "src/**/*.res",
28
+ "src/**/*.resi",
29
+ "README.md"
28
30
  ],
29
31
  "type": "module",
30
32
  "publishConfig": {
@@ -44,8 +46,8 @@
44
46
  "@astrojs/starlight": "0.37.7",
45
47
  "astro": "^5.10.1",
46
48
  "micromark": "^4.0.1",
47
- "oxfmt": "^0.42.0",
48
- "prettier": "^3.3.3",
49
+ "oxfmt": "^0.47.0",
50
+ "prettier": "^3.8.3",
49
51
  "prettier-plugin-astro": "^0.14.1",
50
52
  "rescript": ">=12.0.0 <13",
51
53
  "sharp": "^0.34.0"
package/rescript.json CHANGED
@@ -1,10 +1,596 @@
1
1
  {
2
2
  "name": "@rescript/webapi",
3
- "namespace": "WebAPI",
4
3
  "sources": [
5
4
  {
6
- "dir": "src",
7
- "subdirs": true
5
+ "dir": "src/Base",
6
+ "subdirs": true,
7
+ "feature": "WebAPI.Base",
8
+ "public": [
9
+ "ArrayBufferTypedArrayOrDataView",
10
+ "BaseCSSFontLoading",
11
+ "BaseEncryptedMediaExtensions",
12
+ "BaseEvent",
13
+ "BaseFile",
14
+ "BaseFileAndDirectoryEntries",
15
+ "DOM"
16
+ ]
17
+ },
18
+ {
19
+ "dir": "src/CSSFontLoading",
20
+ "subdirs": true,
21
+ "feature": "WebAPI.CSSFontLoading",
22
+ "public": [
23
+ "FontFace",
24
+ "FontFaceSet"
25
+ ]
26
+ },
27
+ {
28
+ "dir": "src/Canvas",
29
+ "subdirs": true,
30
+ "feature": "WebAPI.Canvas",
31
+ "public": [
32
+ "Canvas",
33
+ "CanvasGradient",
34
+ "CanvasPattern",
35
+ "CanvasRenderingContext2D",
36
+ "FillStyle",
37
+ "HTMLCanvasElement",
38
+ "ImageBitmap",
39
+ "ImageBitmapRenderingContext",
40
+ "OffscreenCanvas",
41
+ "Path2D",
42
+ "VideoFrame"
43
+ ]
44
+ },
45
+ {
46
+ "dir": "src/ChannelMessaging",
47
+ "subdirs": true,
48
+ "feature": "WebAPI.ChannelMessaging",
49
+ "public": [
50
+ "MessagePort"
51
+ ]
52
+ },
53
+ {
54
+ "dir": "src/Clipboard",
55
+ "subdirs": true,
56
+ "feature": "WebAPI.Clipboard",
57
+ "public": [
58
+ "Clipboard",
59
+ "ClipboardItem"
60
+ ]
61
+ },
62
+ {
63
+ "dir": "src/CredentialManagement",
64
+ "subdirs": true,
65
+ "feature": "WebAPI.CredentialManagement",
66
+ "public": [
67
+ "CredentialsContainer"
68
+ ]
69
+ },
70
+ {
71
+ "dir": "src/DOM",
72
+ "subdirs": true,
73
+ "feature": "WebAPI.DOM",
74
+ "public": [
75
+ "Animation",
76
+ "AnimationEffect",
77
+ "CSSRuleList",
78
+ "CSSStyleDeclaration",
79
+ "CSSStyleSheet",
80
+ "CSSStyleValue",
81
+ "CaretPosition",
82
+ "CharacterData",
83
+ "Comment",
84
+ "CustomElementRegistry",
85
+ "DOMException",
86
+ "DOMImplementation",
87
+ "DOMMatrix",
88
+ "DOMMatrixReadOnly",
89
+ "DOMPoint",
90
+ "DOMPointReadOnly",
91
+ "DOMRect",
92
+ "DOMRectList",
93
+ "DOMRectReadOnly",
94
+ "DOMStringList",
95
+ "DOMTokenList",
96
+ "Document",
97
+ "DocumentFragment",
98
+ "DocumentTimeline",
99
+ "DomHTMLMediaElement",
100
+ "Element",
101
+ "ElementInternals",
102
+ "FileList",
103
+ "HTMLAnchorElement",
104
+ "HTMLAreaElement",
105
+ "HTMLAudioElement",
106
+ "HTMLBRElement",
107
+ "HTMLBaseElement",
108
+ "HTMLBodyElement",
109
+ "HTMLButtonElement",
110
+ "HTMLCollection",
111
+ "HTMLDListElement",
112
+ "HTMLDataElement",
113
+ "HTMLDataListElement",
114
+ "HTMLDialogElement",
115
+ "HTMLDivElement",
116
+ "HTMLElement",
117
+ "HTMLEmbedElement",
118
+ "HTMLFieldSetElement",
119
+ "HTMLFormControlsCollection",
120
+ "HTMLFormElement",
121
+ "HTMLFrameSetElement",
122
+ "HTMLHRElement",
123
+ "HTMLHeadElement",
124
+ "HTMLHeadingElement",
125
+ "HTMLHtmlElement",
126
+ "HTMLIFrameElement",
127
+ "HTMLImageElement",
128
+ "HTMLInputElement",
129
+ "HTMLLIElement",
130
+ "HTMLLabelElement",
131
+ "HTMLLegendElement",
132
+ "HTMLLinkElement",
133
+ "HTMLMapElement",
134
+ "HTMLMenuElement",
135
+ "HTMLMetaElement",
136
+ "HTMLMeterElement",
137
+ "HTMLModElement",
138
+ "HTMLOListElement",
139
+ "HTMLObjectElement",
140
+ "HTMLOptGroupElement",
141
+ "HTMLOptionElement",
142
+ "HTMLOptionsCollection",
143
+ "HTMLOutputElement",
144
+ "HTMLParagraphElement",
145
+ "HTMLPictureElement",
146
+ "HTMLPreElement",
147
+ "HTMLProgressElement",
148
+ "HTMLQuoteElement",
149
+ "HTMLScriptElement",
150
+ "HTMLSelectElement",
151
+ "HTMLSlotElement",
152
+ "HTMLSourceElement",
153
+ "HTMLSpanElement",
154
+ "HTMLStyleElement",
155
+ "HTMLTableCaptionElement",
156
+ "HTMLTableCellElement",
157
+ "HTMLTableElement",
158
+ "HTMLTableRowElement",
159
+ "HTMLTableSectionElement",
160
+ "HTMLTemplateElement",
161
+ "HTMLTextAreaElement",
162
+ "HTMLTimeElement",
163
+ "HTMLTitleElement",
164
+ "HTMLTrackElement",
165
+ "HTMLUListElement",
166
+ "HTMLVideoElement",
167
+ "IdleDeadline",
168
+ "ImageData",
169
+ "Location",
170
+ "MediaList",
171
+ "MediaQueryList",
172
+ "NamedNodeMap",
173
+ "Navigator",
174
+ "Node",
175
+ "NodeFilter",
176
+ "NodeIterator",
177
+ "NodeList",
178
+ "Range",
179
+ "SVGGraphicsElement",
180
+ "SVGLength",
181
+ "ScreenOrientation",
182
+ "Selection",
183
+ "ShadowRoot",
184
+ "StylePropertyMap",
185
+ "StylePropertyMapReadOnly",
186
+ "StyleSheetList",
187
+ "Text",
188
+ "TextTrackList",
189
+ "TimeRanges",
190
+ "TreeWalker",
191
+ "VideoColorSpace",
192
+ "Window",
193
+ "XPathExpression",
194
+ "XPathResult"
195
+ ]
196
+ },
197
+ {
198
+ "dir": "src/EncryptedMediaExtensions",
199
+ "subdirs": true,
200
+ "feature": "WebAPI.EncryptedMediaExtensions",
201
+ "public": [
202
+ "EncryptedMediaExtensionsHTMLMediaElement",
203
+ "MediaKeySession",
204
+ "MediaKeyStatusMap",
205
+ "MediaKeySystemAccess",
206
+ "MediaKeys"
207
+ ]
208
+ },
209
+ {
210
+ "dir": "src/Event",
211
+ "subdirs": true,
212
+ "feature": "WebAPI.Event",
213
+ "public": [
214
+ "AbortController",
215
+ "AbortSignal",
216
+ "Event",
217
+ "EventTarget",
218
+ "ExtendableEvent"
219
+ ]
220
+ },
221
+ {
222
+ "dir": "src/Fetch",
223
+ "subdirs": true,
224
+ "feature": "WebAPI.Fetch",
225
+ "public": [
226
+ "BodyInit",
227
+ "Fetch",
228
+ "FormData",
229
+ "FormDataEntryValue",
230
+ "Headers",
231
+ "HeadersInit",
232
+ "Request",
233
+ "Response"
234
+ ]
235
+ },
236
+ {
237
+ "dir": "src/File",
238
+ "subdirs": true,
239
+ "feature": "WebAPI.File",
240
+ "public": [
241
+ "Blob",
242
+ "File",
243
+ "FileSystemDirectoryHandle",
244
+ "FileSystemFileHandle",
245
+ "FileSystemHandle",
246
+ "FileSystemWritableFileStream",
247
+ "ReadableStream",
248
+ "WritableStream",
249
+ "WritableStreamDefaultController"
250
+ ]
251
+ },
252
+ {
253
+ "dir": "src/FileAndDirectoryEntries",
254
+ "subdirs": true,
255
+ "feature": "WebAPI.FileAndDirectoryEntries",
256
+ "public": [
257
+ "FileSystemDirectoryEntry",
258
+ "FileSystemDirectoryReader",
259
+ "FileSystemEntry"
260
+ ]
261
+ },
262
+ {
263
+ "dir": "src/Gamepad",
264
+ "subdirs": true,
265
+ "feature": "WebAPI.Gamepad",
266
+ "public": [
267
+ "GamepadHapticActuator"
268
+ ]
269
+ },
270
+ {
271
+ "dir": "src/Geolocation",
272
+ "subdirs": true,
273
+ "feature": "WebAPI.Geolocation",
274
+ "public": [
275
+ "Geolocation",
276
+ "GeolocationCoordinates",
277
+ "GeolocationPosition"
278
+ ]
279
+ },
280
+ {
281
+ "dir": "src/History",
282
+ "subdirs": true,
283
+ "feature": "WebAPI.History",
284
+ "public": [
285
+ "History"
286
+ ]
287
+ },
288
+ {
289
+ "dir": "src/IndexedDB",
290
+ "subdirs": true,
291
+ "feature": "WebAPI.IndexedDB",
292
+ "public": [
293
+ "IDBDatabase",
294
+ "IDBFactory",
295
+ "IDBIndex",
296
+ "IDBObjectStore",
297
+ "IDBTransaction"
298
+ ]
299
+ },
300
+ {
301
+ "dir": "src/IntersectionObserver",
302
+ "subdirs": true,
303
+ "feature": "WebAPI.IntersectionObserver",
304
+ "public": [
305
+ "IntersectionObserver",
306
+ "IntersectionObserverRoot"
307
+ ]
308
+ },
309
+ {
310
+ "dir": "src/MediaCapabilities",
311
+ "subdirs": true,
312
+ "feature": "WebAPI.MediaCapabilities",
313
+ "public": [
314
+ "MediaCapabilities"
315
+ ]
316
+ },
317
+ {
318
+ "dir": "src/MediaCaptureAndStreams",
319
+ "subdirs": true,
320
+ "feature": "WebAPI.MediaCaptureAndStreams",
321
+ "public": [
322
+ "MediaDeviceInfo",
323
+ "MediaDevices",
324
+ "MediaStream",
325
+ "MediaStreamTrack"
326
+ ]
327
+ },
328
+ {
329
+ "dir": "src/MediaSession",
330
+ "subdirs": true,
331
+ "feature": "WebAPI.MediaSession",
332
+ "public": [
333
+ "MediaMetadata",
334
+ "MediaSession"
335
+ ]
336
+ },
337
+ {
338
+ "dir": "src/MutationObserver",
339
+ "subdirs": true,
340
+ "feature": "WebAPI.MutationObserver",
341
+ "public": [
342
+ "MutationObserver"
343
+ ]
344
+ },
345
+ {
346
+ "dir": "src/Notification",
347
+ "subdirs": true,
348
+ "feature": "WebAPI.Notification",
349
+ "public": [
350
+ "Notification"
351
+ ]
352
+ },
353
+ {
354
+ "dir": "src/Performance",
355
+ "subdirs": true,
356
+ "feature": "WebAPI.Performance",
357
+ "public": [
358
+ "Performance",
359
+ "PerformanceEntry",
360
+ "PerformanceMark"
361
+ ]
362
+ },
363
+ {
364
+ "dir": "src/Permissions",
365
+ "subdirs": true,
366
+ "feature": "WebAPI.Permissions",
367
+ "public": [
368
+ "Permissions"
369
+ ]
370
+ },
371
+ {
372
+ "dir": "src/PictureInPicture",
373
+ "subdirs": true,
374
+ "feature": "WebAPI.PictureInPicture",
375
+ "public": [
376
+ "PictureInPicture"
377
+ ]
378
+ },
379
+ {
380
+ "dir": "src/Push",
381
+ "subdirs": true,
382
+ "feature": "WebAPI.Push",
383
+ "public": [
384
+ "ApplicationServerKey",
385
+ "PushEvent",
386
+ "PushManager",
387
+ "PushMessageData",
388
+ "PushSubscription"
389
+ ]
390
+ },
391
+ {
392
+ "dir": "src/RemotePlayback",
393
+ "subdirs": true,
394
+ "feature": "WebAPI.RemotePlayback",
395
+ "public": [
396
+ "RemotePlayback"
397
+ ]
398
+ },
399
+ {
400
+ "dir": "src/ResizeObserver",
401
+ "subdirs": true,
402
+ "feature": "WebAPI.ResizeObserver",
403
+ "public": [
404
+ "ResizeObserver"
405
+ ]
406
+ },
407
+ {
408
+ "dir": "src/ScreenWakeLock",
409
+ "subdirs": true,
410
+ "feature": "WebAPI.ScreenWakeLock",
411
+ "public": [
412
+ "WakeLock",
413
+ "WakeLockSentinel"
414
+ ]
415
+ },
416
+ {
417
+ "dir": "src/ServiceWorker",
418
+ "subdirs": true,
419
+ "feature": "WebAPI.ServiceWorker",
420
+ "public": [
421
+ "Cache",
422
+ "Clients",
423
+ "NavigationPreloadManager",
424
+ "ServiceWorker",
425
+ "ServiceWorkerContainer",
426
+ "ServiceWorkerRegistration",
427
+ "ServiceWorkerScope"
428
+ ]
429
+ },
430
+ {
431
+ "dir": "src/Storage",
432
+ "subdirs": true,
433
+ "feature": "WebAPI.Storage",
434
+ "public": [
435
+ "StorageManager"
436
+ ]
437
+ },
438
+ {
439
+ "dir": "src/UIEvents",
440
+ "subdirs": true,
441
+ "feature": "WebAPI.UIEvents",
442
+ "public": [
443
+ "CompositionEvent",
444
+ "DataTransfer",
445
+ "DataTransferItem",
446
+ "DataTransferItemList",
447
+ "FocusEvent",
448
+ "InputEvent",
449
+ "KeyboardEvent",
450
+ "MouseEvent",
451
+ "PointerEvent",
452
+ "Touch",
453
+ "TouchEvent",
454
+ "TouchList",
455
+ "UIEvent",
456
+ "WheelEvent"
457
+ ]
458
+ },
459
+ {
460
+ "dir": "src/URL",
461
+ "subdirs": true,
462
+ "feature": "WebAPI.URL",
463
+ "public": [
464
+ "URL",
465
+ "URLSearchParams"
466
+ ]
467
+ },
468
+ {
469
+ "dir": "src/ViewTransitions",
470
+ "subdirs": true,
471
+ "feature": "WebAPI.ViewTransitions",
472
+ "public": [
473
+ "ViewTransition"
474
+ ]
475
+ },
476
+ {
477
+ "dir": "src/VisualViewport",
478
+ "subdirs": true,
479
+ "feature": "WebAPI.VisualViewport",
480
+ "public": [
481
+ "VisualViewport"
482
+ ]
483
+ },
484
+ {
485
+ "dir": "src/WebAudio",
486
+ "subdirs": true,
487
+ "feature": "WebAPI.WebAudio",
488
+ "public": [
489
+ "AnalyserNode",
490
+ "AudioBuffer",
491
+ "AudioBufferSourceNode",
492
+ "AudioContext",
493
+ "AudioDestinationNode",
494
+ "AudioNode",
495
+ "AudioParam",
496
+ "AudioProcessingEvent",
497
+ "AudioScheduledSourceNode",
498
+ "AudioWorkletNode",
499
+ "BaseAudioContext",
500
+ "BiquadFilterNode",
501
+ "ChannelMergerNode",
502
+ "ChannelSplitterNode",
503
+ "ConstantSourceNode",
504
+ "ConvolverNode",
505
+ "DelayNode",
506
+ "DynamicsCompressorNode",
507
+ "GainNode",
508
+ "IIRFilterNode",
509
+ "MediaElementAudioSourceNode",
510
+ "MediaStreamAudioDestinationNode",
511
+ "MediaStreamAudioSourceNode",
512
+ "OfflineAudioCompletionEvent",
513
+ "OfflineAudioContext",
514
+ "OscillatorNode",
515
+ "PannerNode",
516
+ "PeriodicWave",
517
+ "StereoPannerNode",
518
+ "WaveShaperNode",
519
+ "Worklet"
520
+ ]
521
+ },
522
+ {
523
+ "dir": "src/WebCrypto",
524
+ "subdirs": true,
525
+ "feature": "WebAPI.WebCrypto",
526
+ "public": [
527
+ "Crypto",
528
+ "SubtleCrypto"
529
+ ]
530
+ },
531
+ {
532
+ "dir": "src/WebLocks",
533
+ "subdirs": true,
534
+ "feature": "WebAPI.WebLocks",
535
+ "public": [
536
+ "LockManager"
537
+ ]
538
+ },
539
+ {
540
+ "dir": "src/WebMIDI",
541
+ "subdirs": true,
542
+ "feature": "WebAPI.WebMIDI",
543
+ "public": [
544
+ "WebMIDI"
545
+ ]
546
+ },
547
+ {
548
+ "dir": "src/WebSockets",
549
+ "subdirs": true,
550
+ "feature": "WebAPI.WebSockets",
551
+ "public": [
552
+ "CloseEvent",
553
+ "MessageEvent",
554
+ "WebSocket"
555
+ ]
556
+ },
557
+ {
558
+ "dir": "src/WebSpeech",
559
+ "subdirs": true,
560
+ "feature": "WebAPI.WebSpeech",
561
+ "public": [
562
+ "SpeechSynthesis",
563
+ "SpeechSynthesisUtterance"
564
+ ]
565
+ },
566
+ {
567
+ "dir": "src/WebStorage",
568
+ "subdirs": true,
569
+ "feature": "WebAPI.WebStorage",
570
+ "public": [
571
+ "Storage",
572
+ "StorageEvent"
573
+ ]
574
+ },
575
+ {
576
+ "dir": "src/WebVTT",
577
+ "subdirs": true,
578
+ "feature": "WebAPI.WebVTT",
579
+ "public": [
580
+ "TextTrack",
581
+ "TextTrackCueList"
582
+ ]
583
+ },
584
+ {
585
+ "dir": "src/WebWorkers",
586
+ "subdirs": true,
587
+ "feature": "WebAPI.WebWorkers",
588
+ "public": [
589
+ "CacheStorage",
590
+ "SharedWorker",
591
+ "SharedWorkerScope",
592
+ "Worker"
593
+ ]
8
594
  },
9
595
  {
10
596
  "dir": "tests",
@@ -16,5 +602,6 @@
16
602
  "module": "esmodule",
17
603
  "in-source": true
18
604
  },
19
- "suffix": ".js"
605
+ "suffix": ".js",
606
+ "dependencies": []
20
607
  }
@@ -0,0 +1,4 @@
1
+ type t
2
+ external fromArrayBuffer: ArrayBuffer.t => t = "%identity"
3
+ external fromTypedArray: TypedArray.t<'t> => t = "%identity"
4
+ external fromDataView: DataView.t => t = "%identity"
@@ -0,0 +1,25 @@
1
+ type fontFaceLoadStatus =
2
+ | @as("error") Error
3
+ | @as("loaded") Loaded
4
+ | @as("loading") Loading
5
+ | @as("unloaded") Unloaded
6
+
7
+ type fontFaceSetLoadStatus =
8
+ | @as("loaded") Loaded
9
+ | @as("loading") Loading
10
+
11
+ /**
12
+ [See FontFaceSet on MDN](https://developer.mozilla.org/docs/Web/API/FontFaceSet)
13
+ */
14
+ @editor.completeFrom(BaseCSSFontLoading.FontFaceSet)
15
+ type rec fontFaceSet = private {
16
+ ...BaseEvent.eventTarget,
17
+ /**
18
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FontFaceSet/ready)
19
+ */
20
+ ready: promise<fontFaceSet>,
21
+ /**
22
+ [Read more on MDN](https://developer.mozilla.org/docs/Web/API/FontFaceSet/status)
23
+ */
24
+ status: fontFaceSetLoadStatus,
25
+ }