@rescript/webapi 0.1.0-alpha-b1d58f9

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 (341) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +35 -0
  3. package/package.json +61 -0
  4. package/rescript.json +557 -0
  5. package/src/animation/Animation.res +149 -0
  6. package/src/animation/AnimationEffect.res +71 -0
  7. package/src/animation/DocumentTimeline.res +8 -0
  8. package/src/canvas/Canvas.res +179 -0
  9. package/src/canvas/CanvasGradient.res +11 -0
  10. package/src/canvas/CanvasPattern.res +11 -0
  11. package/src/canvas/CanvasRenderingContext2D.res +868 -0
  12. package/src/canvas/CanvasTypes.res +452 -0
  13. package/src/canvas/FillStyle.res +25 -0
  14. package/src/canvas/HTMLCanvasElement.res +101 -0
  15. package/src/canvas/ImageBitmap.res +6 -0
  16. package/src/canvas/ImageBitmapRenderingContext.res +9 -0
  17. package/src/canvas/ImageData.res +17 -0
  18. package/src/canvas/OffscreenCanvas.res +87 -0
  19. package/src/canvas/Path2D.res +186 -0
  20. package/src/canvas/VideoColorSpace.res +11 -0
  21. package/src/canvas/VideoFrame.res +217 -0
  22. package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
  23. package/src/core/DOM.res +1026 -0
  24. package/src/core/EventType.res +108 -0
  25. package/src/crypto/Crypto.res +11 -0
  26. package/src/crypto/SubtleCrypto.res +173 -0
  27. package/src/crypto/WebCryptoTypes.res +71 -0
  28. package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
  29. package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
  30. package/src/css-font-loading/FontFace.res +62 -0
  31. package/src/css-font-loading/FontFaceSet.res +38 -0
  32. package/src/cssom/CSSRuleList.res +5 -0
  33. package/src/cssom/CSSStyleDeclaration.res +1734 -0
  34. package/src/cssom/CSSStyleValue.res +17 -0
  35. package/src/cssom/MediaList.res +29 -0
  36. package/src/cssom/MediaQueryList.res +18 -0
  37. package/src/cssom/StylePropertyMap.res +56 -0
  38. package/src/cssom/StylePropertyMapReadOnly.res +22 -0
  39. package/src/cssom/StyleSheet.res +152 -0
  40. package/src/cssom/StyleSheetList.res +17 -0
  41. package/src/device/GamepadHapticActuator.res +16 -0
  42. package/src/device/GamepadTypes.res +86 -0
  43. package/src/device/Geolocation.res +31 -0
  44. package/src/device/GeolocationCoordinates.res +5 -0
  45. package/src/device/GeolocationPosition.res +5 -0
  46. package/src/device/GeolocationTypes.res +81 -0
  47. package/src/device/LockManager.res +26 -0
  48. package/src/device/ScreenOrientation.res +7 -0
  49. package/src/device/ScreenWakeLockTypes.res +26 -0
  50. package/src/device/WakeLock.res +8 -0
  51. package/src/device/WakeLockSentinel.res +7 -0
  52. package/src/device/WebLocksTypes.res +45 -0
  53. package/src/device/WebMIDI.res +7 -0
  54. package/src/device/WebMidiTypes.res +36 -0
  55. package/src/dom-nodes/AbstractRange.res +30 -0
  56. package/src/dom-nodes/Attr.res +101 -0
  57. package/src/dom-nodes/CDATASection.res +7 -0
  58. package/src/dom-nodes/CaretPosition.res +2 -0
  59. package/src/dom-nodes/CharacterData.res +199 -0
  60. package/src/dom-nodes/Comment.res +15 -0
  61. package/src/dom-nodes/DOMImplementation.res +131 -0
  62. package/src/dom-nodes/DOMTree.res +1653 -0
  63. package/src/dom-nodes/DocumentFragment.res +96 -0
  64. package/src/dom-nodes/Element.res +509 -0
  65. package/src/dom-nodes/ElementInternals.res +39 -0
  66. package/src/dom-nodes/HTML.res +11 -0
  67. package/src/dom-nodes/HTMLCollection.res +25 -0
  68. package/src/dom-nodes/NamedNodeMap.res +46 -0
  69. package/src/dom-nodes/Node.res +114 -0
  70. package/src/dom-nodes/NodeFilter.res +4 -0
  71. package/src/dom-nodes/NodeIterator.res +38 -0
  72. package/src/dom-nodes/NodeList.res +6 -0
  73. package/src/dom-nodes/ProcessingInstruction.res +15 -0
  74. package/src/dom-nodes/Range.res +156 -0
  75. package/src/dom-nodes/Selection.res +137 -0
  76. package/src/dom-nodes/ShadowRoot.res +23 -0
  77. package/src/dom-nodes/StaticRange.res +6 -0
  78. package/src/dom-nodes/Text.res +31 -0
  79. package/src/dom-nodes/TreeWalker.res +65 -0
  80. package/src/dom-platform/DOMException.res +7 -0
  81. package/src/dom-platform/DOMStringList.res +15 -0
  82. package/src/dom-platform/DOMStringMap.res +5 -0
  83. package/src/dom-platform/DOMTokenList.res +70 -0
  84. package/src/event/AbortController.res +9 -0
  85. package/src/event/AbortSignal.res +25 -0
  86. package/src/event/Event.res +76 -0
  87. package/src/event/EventTarget.res +91 -0
  88. package/src/event/ExtendableEvent.res +14 -0
  89. package/src/fetch/BodyInit.res +46 -0
  90. package/src/fetch/Fetch.res +12 -0
  91. package/src/fetch/FetchTypes.res +282 -0
  92. package/src/fetch/FormData.res +71 -0
  93. package/src/fetch/FormDataEntryValue.res +2 -0
  94. package/src/fetch/Headers.res +59 -0
  95. package/src/fetch/HeadersInit.res +16 -0
  96. package/src/fetch/Request.res +61 -0
  97. package/src/fetch/Response.res +127 -0
  98. package/src/file/BaseFileAndDirectoryEntries.res +72 -0
  99. package/src/file/Blob.res +48 -0
  100. package/src/file/File.res +15 -0
  101. package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
  102. package/src/file/FileList.res +16 -0
  103. package/src/file/FileSystemDirectoryEntry.res +42 -0
  104. package/src/file/FileSystemDirectoryHandle.res +49 -0
  105. package/src/file/FileSystemDirectoryReader.res +9 -0
  106. package/src/file/FileSystemEntry.res +9 -0
  107. package/src/file/FileSystemFileHandle.res +25 -0
  108. package/src/file/FileSystemHandle.res +6 -0
  109. package/src/file/FileSystemWritableFileStream.res +65 -0
  110. package/src/file/FileTypes.res +225 -0
  111. package/src/file/ReadableStream.res +79 -0
  112. package/src/file/WritableStream.res +27 -0
  113. package/src/file/WritableStreamDefaultController.res +5 -0
  114. package/src/geometry/DOMMatrix.res +206 -0
  115. package/src/geometry/DOMMatrixReadOnly.res +140 -0
  116. package/src/geometry/DOMPoint.res +28 -0
  117. package/src/geometry/DOMPointReadOnly.res +22 -0
  118. package/src/geometry/DOMRect.res +22 -0
  119. package/src/geometry/DOMRectList.res +2 -0
  120. package/src/geometry/DOMRectReadOnly.res +19 -0
  121. package/src/html/HTMLAnchorElement.res +373 -0
  122. package/src/html/HTMLAreaElement.res +353 -0
  123. package/src/html/HTMLBRElement.res +9 -0
  124. package/src/html/HTMLBaseElement.res +20 -0
  125. package/src/html/HTMLBodyElement.res +9 -0
  126. package/src/html/HTMLButtonElement.res +98 -0
  127. package/src/html/HTMLDListElement.res +9 -0
  128. package/src/html/HTMLDataElement.res +14 -0
  129. package/src/html/HTMLDataListElement.res +14 -0
  130. package/src/html/HTMLDialogElement.res +40 -0
  131. package/src/html/HTMLDivElement.res +9 -0
  132. package/src/html/HTMLElement.res +108 -0
  133. package/src/html/HTMLEmbedElement.res +275 -0
  134. package/src/html/HTMLFieldSetElement.res +70 -0
  135. package/src/html/HTMLFormControlsCollection.res +21 -0
  136. package/src/html/HTMLFormElement.res +39 -0
  137. package/src/html/HTMLFrameSetElement.res +9 -0
  138. package/src/html/HTMLHRElement.res +9 -0
  139. package/src/html/HTMLHeadElement.res +256 -0
  140. package/src/html/HTMLHeadingElement.res +9 -0
  141. package/src/html/HTMLHtmlElement.res +9 -0
  142. package/src/html/HTMLIFrameElement.res +69 -0
  143. package/src/html/HTMLImageElement.res +349 -0
  144. package/src/html/HTMLInputElement.res +310 -0
  145. package/src/html/HTMLLIElement.res +9 -0
  146. package/src/html/HTMLLabelElement.res +25 -0
  147. package/src/html/HTMLLegendElement.res +14 -0
  148. package/src/html/HTMLLinkElement.res +69 -0
  149. package/src/html/HTMLMapElement.res +20 -0
  150. package/src/html/HTMLMenuElement.res +8 -0
  151. package/src/html/HTMLMetaElement.res +29 -0
  152. package/src/html/HTMLMeterElement.res +38 -0
  153. package/src/html/HTMLModElement.res +9 -0
  154. package/src/html/HTMLOListElement.res +24 -0
  155. package/src/html/HTMLObjectElement.res +89 -0
  156. package/src/html/HTMLOptGroupElement.res +19 -0
  157. package/src/html/HTMLOptionElement.res +49 -0
  158. package/src/html/HTMLOptionsCollection.res +35 -0
  159. package/src/html/HTMLOutputElement.res +73 -0
  160. package/src/html/HTMLParagraphElement.res +9 -0
  161. package/src/html/HTMLPictureElement.res +9 -0
  162. package/src/html/HTMLPreElement.res +9 -0
  163. package/src/html/HTMLProgressElement.res +29 -0
  164. package/src/html/HTMLQuoteElement.res +9 -0
  165. package/src/html/HTMLScriptElement.res +310 -0
  166. package/src/html/HTMLSelectElement.res +157 -0
  167. package/src/html/HTMLSlotElement.res +34 -0
  168. package/src/html/HTMLSourceElement.res +18 -0
  169. package/src/html/HTMLSpanElement.res +9 -0
  170. package/src/html/HTMLStyleElement.res +24 -0
  171. package/src/html/HTMLTableCaptionElement.res +9 -0
  172. package/src/html/HTMLTableCellElement.res +40 -0
  173. package/src/html/HTMLTableElement.res +100 -0
  174. package/src/html/HTMLTableRowElement.res +40 -0
  175. package/src/html/HTMLTableSectionElement.res +30 -0
  176. package/src/html/HTMLTemplateElement.res +31 -0
  177. package/src/html/HTMLTextAreaElement.res +177 -0
  178. package/src/html/HTMLTimeElement.res +14 -0
  179. package/src/html/HTMLTitleElement.res +15 -0
  180. package/src/html/HTMLUListElement.res +9 -0
  181. package/src/html/HTMLUnknownElement.res +9 -0
  182. package/src/media/BaseEncryptedMediaExtensions.res +97 -0
  183. package/src/media/DomHTMLMediaElement.res +206 -0
  184. package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
  185. package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
  186. package/src/media/HTMLAudioElement.res +9 -0
  187. package/src/media/HTMLTrackElement.res +14 -0
  188. package/src/media/HTMLVideoElement.res +78 -0
  189. package/src/media/MediaCapabilities.res +19 -0
  190. package/src/media/MediaCapabilitiesTypes.res +83 -0
  191. package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
  192. package/src/media/MediaDeviceInfo.res +9 -0
  193. package/src/media/MediaDevices.res +40 -0
  194. package/src/media/MediaError.res +14 -0
  195. package/src/media/MediaKeySession.res +53 -0
  196. package/src/media/MediaKeyStatusMap.res +11 -0
  197. package/src/media/MediaKeySystemAccess.res +14 -0
  198. package/src/media/MediaKeys.res +35 -0
  199. package/src/media/MediaMetadata.res +10 -0
  200. package/src/media/MediaSession.res +25 -0
  201. package/src/media/MediaSessionTypes.res +85 -0
  202. package/src/media/MediaStream.res +89 -0
  203. package/src/media/MediaStreamTrack.res +51 -0
  204. package/src/media/PictureInPicture.res +7 -0
  205. package/src/media/PictureInPictureTypes.res +17 -0
  206. package/src/media/RemotePlayback.res +25 -0
  207. package/src/media/RemotePlaybackTypes.res +20 -0
  208. package/src/media/SpeechSynthesis.res +33 -0
  209. package/src/media/SpeechSynthesisUtterance.res +8 -0
  210. package/src/media/TextTrack.res +15 -0
  211. package/src/media/TextTrackCueList.res +9 -0
  212. package/src/media/TextTrackList.res +17 -0
  213. package/src/media/TimeRanges.res +29 -0
  214. package/src/media/VideoPlaybackQuality.res +18 -0
  215. package/src/media/WebSpeechTypes.res +83 -0
  216. package/src/media/WebVttTypes.res +123 -0
  217. package/src/messaging/ApplicationServerKey.res +2 -0
  218. package/src/messaging/ChannelMessagingTypes.res +12 -0
  219. package/src/messaging/CloseEvent.res +10 -0
  220. package/src/messaging/MessageEvent.res +43 -0
  221. package/src/messaging/MessagePort.res +38 -0
  222. package/src/messaging/Notification.res +46 -0
  223. package/src/messaging/NotificationTypes.res +107 -0
  224. package/src/messaging/PushEvent.res +3 -0
  225. package/src/messaging/PushManager.res +24 -0
  226. package/src/messaging/PushMessageData.res +15 -0
  227. package/src/messaging/PushSubscription.res +20 -0
  228. package/src/messaging/PushTypes.res +88 -0
  229. package/src/messaging/WebSocket.res +74 -0
  230. package/src/messaging/WebSocketsTypes.res +124 -0
  231. package/src/navigator/Clipboard.res +29 -0
  232. package/src/navigator/ClipboardItem.res +20 -0
  233. package/src/navigator/ClipboardTypes.res +31 -0
  234. package/src/navigator/CredentialManagementTypes.res +138 -0
  235. package/src/navigator/CredentialsContainer.res +33 -0
  236. package/src/navigator/Navigator.res +166 -0
  237. package/src/navigator/Permissions.res +10 -0
  238. package/src/navigator/PermissionsTypes.res +38 -0
  239. package/src/observers/IntersectionObserver.res +36 -0
  240. package/src/observers/IntersectionObserverRoot.res +23 -0
  241. package/src/observers/IntersectionObserverTypes.res +67 -0
  242. package/src/observers/MutationObserver.res +94 -0
  243. package/src/observers/ResizeObserver.res +30 -0
  244. package/src/observers/ResizeObserverTypes.res +56 -0
  245. package/src/performance/Performance.res +101 -0
  246. package/src/performance/PerformanceEntry.res +5 -0
  247. package/src/performance/PerformanceMark.res +16 -0
  248. package/src/performance/PerformanceTypes.res +86 -0
  249. package/src/storage/Cache.res +117 -0
  250. package/src/storage/CacheStorage.res +43 -0
  251. package/src/storage/CacheTypes.res +24 -0
  252. package/src/storage/IDBDatabase.res +54 -0
  253. package/src/storage/IDBFactory.res +34 -0
  254. package/src/storage/IDBIndex.res +83 -0
  255. package/src/storage/IDBObjectStore.res +183 -0
  256. package/src/storage/IDBTransaction.res +22 -0
  257. package/src/storage/IndexedDbTypes.res +213 -0
  258. package/src/storage/Storage.res +42 -0
  259. package/src/storage/StorageEvent.res +10 -0
  260. package/src/storage/StorageManager.res +24 -0
  261. package/src/storage/StorageTypes.res +11 -0
  262. package/src/storage/WebStorageTypes.res +57 -0
  263. package/src/svg/SVGElement.res +115 -0
  264. package/src/svg/SVGGraphicsElement.res +16 -0
  265. package/src/svg/SVGLength.res +9 -0
  266. package/src/ui-events/CompositionEvent.res +10 -0
  267. package/src/ui-events/DataTransfer.res +38 -0
  268. package/src/ui-events/DataTransferItem.res +21 -0
  269. package/src/ui-events/DataTransferItemList.res +34 -0
  270. package/src/ui-events/FocusEvent.res +10 -0
  271. package/src/ui-events/InputEvent.res +16 -0
  272. package/src/ui-events/KeyboardEvent.res +16 -0
  273. package/src/ui-events/MouseEvent.res +26 -0
  274. package/src/ui-events/PointerEvent.res +24 -0
  275. package/src/ui-events/Touch.res +5 -0
  276. package/src/ui-events/TouchEvent.res +10 -0
  277. package/src/ui-events/TouchList.res +5 -0
  278. package/src/ui-events/UIEvent.res +20 -0
  279. package/src/ui-events/UiEventsTypes.res +590 -0
  280. package/src/ui-events/WheelEvent.res +10 -0
  281. package/src/url/URL.res +38 -0
  282. package/src/url/URLSearchParams.res +104 -0
  283. package/src/url/UrlTypes.res +69 -0
  284. package/src/view-transitions/ViewTransition.res +5 -0
  285. package/src/view-transitions/ViewTransitionsTypes.res +22 -0
  286. package/src/web-audio/AnalyserNode.res +38 -0
  287. package/src/web-audio/AudioBuffer.res +33 -0
  288. package/src/web-audio/AudioBufferSourceNode.res +21 -0
  289. package/src/web-audio/AudioContext.res +59 -0
  290. package/src/web-audio/AudioDestinationNode.res +1 -0
  291. package/src/web-audio/AudioNode.res +76 -0
  292. package/src/web-audio/AudioParam.res +65 -0
  293. package/src/web-audio/AudioProcessingEvent.res +10 -0
  294. package/src/web-audio/AudioScheduledSourceNode.res +23 -0
  295. package/src/web-audio/AudioWorkletNode.res +11 -0
  296. package/src/web-audio/BaseAudioContext.res +141 -0
  297. package/src/web-audio/BiquadFilterNode.res +21 -0
  298. package/src/web-audio/ChannelMergerNode.res +10 -0
  299. package/src/web-audio/ChannelSplitterNode.res +10 -0
  300. package/src/web-audio/ConstantSourceNode.res +10 -0
  301. package/src/web-audio/ConvolverNode.res +10 -0
  302. package/src/web-audio/DelayNode.res +10 -0
  303. package/src/web-audio/DynamicsCompressorNode.res +10 -0
  304. package/src/web-audio/GainNode.res +10 -0
  305. package/src/web-audio/IIRFilterNode.res +21 -0
  306. package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
  307. package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
  308. package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
  309. package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
  310. package/src/web-audio/OfflineAudioContext.res +58 -0
  311. package/src/web-audio/OscillatorNode.res +17 -0
  312. package/src/web-audio/PannerNode.res +10 -0
  313. package/src/web-audio/PeriodicWave.res +8 -0
  314. package/src/web-audio/StereoPannerNode.res +10 -0
  315. package/src/web-audio/WaveShaperNode.res +10 -0
  316. package/src/web-audio/WebAudioTypes.res +1309 -0
  317. package/src/web-audio/Worklet.res +14 -0
  318. package/src/window/CustomElementRegistry.res +30 -0
  319. package/src/window/Document.res +470 -0
  320. package/src/window/DomGlobal.res +459 -0
  321. package/src/window/History.res +37 -0
  322. package/src/window/HistoryTypes.res +26 -0
  323. package/src/window/IdleDeadline.res +5 -0
  324. package/src/window/Location.res +108 -0
  325. package/src/window/VisualViewport.res +5 -0
  326. package/src/window/VisualViewportTypes.res +37 -0
  327. package/src/window/Window.res +556 -0
  328. package/src/window/XPathExpression.res +16 -0
  329. package/src/window/XPathResult.res +46 -0
  330. package/src/workers/Clients.res +39 -0
  331. package/src/workers/NavigationPreloadManager.res +26 -0
  332. package/src/workers/ServiceWorker.res +38 -0
  333. package/src/workers/ServiceWorkerContainer.res +34 -0
  334. package/src/workers/ServiceWorkerRegistration.res +32 -0
  335. package/src/workers/ServiceWorkerScope.res +12 -0
  336. package/src/workers/ServiceWorkerTypes.res +153 -0
  337. package/src/workers/SharedWorker.res +68 -0
  338. package/src/workers/SharedWorkerScope.res +29 -0
  339. package/src/workers/WebWorkersTypes.res +46 -0
  340. package/src/workers/Worker.res +48 -0
  341. package/src/workers/WorkerLocation.res +18 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ReScript
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,35 @@
1
+ [![NPM Version](https://img.shields.io/npm/v/@rescript/webapi/alpha)](https://www.npmjs.com/package/@rescript/webapi)
2
+
3
+ # experimental-rescript-webapi
4
+
5
+ Experimental successor to [rescript-webapi](https://github.com/TheSpyder/rescript-webapi)
6
+
7
+ ## Getting started
8
+
9
+ Install the package using your favorite package manager:
10
+
11
+ ```shell
12
+ npm i @rescript/webapi@alpha
13
+ ```
14
+
15
+ and add `@rescript/webapi` to your `rescript.json`:
16
+
17
+ ```json
18
+ {
19
+ "dependencies": [
20
+ "@rescript/webapi"
21
+ ]
22
+ }
23
+ ```
24
+
25
+ ## Usage
26
+
27
+ ```rescript
28
+ let location = WebAPI.DOM.window->WebAPI.Window.location
29
+ let href = location.href
30
+ location->WebAPI.Location.reload
31
+ ```
32
+
33
+ ## Documentation
34
+
35
+ More information can be found on https://rescript-lang.github.io/experimental-rescript-webapi/
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@rescript/webapi",
3
+ "version": "0.1.0-alpha-b1d58f9",
4
+ "description": "Experimental successor to [rescript-webapi](https://github.com/TheSpyder/rescript-webapi)",
5
+ "keywords": [
6
+ "dom",
7
+ "fetch",
8
+ "mdn",
9
+ "rescript",
10
+ "webapi"
11
+ ],
12
+ "homepage": "https://rescript-lang.github.io/experimental-rescript-webapi/",
13
+ "bugs": "https://github.com/rescript-lang/experimental-rescript-webapi/issues",
14
+ "license": "MIT",
15
+ "author": {
16
+ "name": "ReScript"
17
+ },
18
+ "maintainers": [
19
+ "Bernardo Gurgel (https://github.com/brnrdog)",
20
+ "Josh Vlk (https://github.com/jderochervlk)",
21
+ "Paul Tsnobiladzé (https://github.com/tsnobip)"
22
+ ],
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/rescript-lang/experimental-rescript-webapi.git"
26
+ },
27
+ "files": [
28
+ "rescript.json",
29
+ "src/**/*.res",
30
+ "src/**/*.resi",
31
+ "README.md"
32
+ ],
33
+ "type": "module",
34
+ "publishConfig": {
35
+ "access": "public",
36
+ "provenance": true
37
+ },
38
+ "scripts": {
39
+ "test": "node tests/index.js",
40
+ "build": "rescript",
41
+ "check:features": "node --test scripts/check-features.test.mjs && node scripts/check-features.mjs",
42
+ "format": "rescript format && oxfmt ./tests/index.js ./scripts/check-features.mjs ./scripts/check-features.test.mjs ./package.json ./docs && prettier --write ./docs/pages",
43
+ "format:check": "rescript format --check && oxfmt ./tests/index.js ./scripts/check-features.mjs ./scripts/check-features.test.mjs ./package.json ./docs --check && prettier --check ./docs/pages",
44
+ "docs": "astro dev",
45
+ "prebuild:docs": "node docs/llm.js",
46
+ "build:docs": "astro build"
47
+ },
48
+ "devDependencies": {
49
+ "@astrojs/starlight": "0.42.0",
50
+ "astro": "^7.2.9",
51
+ "micromark": "^4.0.1",
52
+ "oxfmt": "^0.67.0",
53
+ "prettier": "^3.8.3",
54
+ "prettier-plugin-astro": "^0.14.1",
55
+ "rescript": "^13.0.0-alpha.4",
56
+ "sharp": "^0.35.3"
57
+ },
58
+ "peerDependencies": {
59
+ "rescript": ">=13"
60
+ }
61
+ }
package/rescript.json ADDED
@@ -0,0 +1,557 @@
1
+ {
2
+ "name": "@rescript/webapi",
3
+ "namespace": "WebAPI",
4
+ "features": {
5
+ "WebAPI.DOM": ["DOM"],
6
+ "WebAPI.Event": ["WebAPI.DOM", "Event"],
7
+ "WebAPI.DOMPlatform": ["WebAPI.Event", "DOMPlatform"],
8
+ "WebAPI.Animation": ["WebAPI.Event", "Animation"],
9
+ "WebAPI.Geometry": ["WebAPI.DOM", "Geometry"],
10
+ "WebAPI.CSSOM": ["WebAPI.Event", "CSSOM"],
11
+ "WebAPI.DOMNodes": [
12
+ "WebAPI.DOMPlatform",
13
+ "WebAPI.Animation",
14
+ "WebAPI.CSSOM",
15
+ "WebAPI.Geometry",
16
+ "DOMNodes"
17
+ ],
18
+ "WebAPI.HTML": ["WebAPI.DOMNodes", "WebAPI.File", "HTML"],
19
+ "WebAPI.Window": [
20
+ "WebAPI.HTML",
21
+ "WebAPI.Media",
22
+ "WebAPI.Storage",
23
+ "WebAPI.Messaging",
24
+ "WebAPI.Crypto",
25
+ "WebAPI.Performance",
26
+ "WebAPI.ViewTransitions",
27
+ "Window"
28
+ ],
29
+ "WebAPI.Media": ["WebAPI.HTML", "Media"],
30
+ "WebAPI.WebAudio": ["WebAPI.Media", "WebAPI.Messaging", "WebAudio"],
31
+ "WebAPI.SVG": ["WebAPI.DOMNodes", "WebAPI.Geometry", "SVG"],
32
+ "WebAPI.Observers": [
33
+ "WebAPI.DOMNodes",
34
+ "WebAPI.Geometry",
35
+ "Observers"
36
+ ],
37
+ "WebAPI.UIEvents": ["WebAPI.DOMNodes", "WebAPI.File", "UIEvents"],
38
+ "WebAPI.Canvas": [
39
+ "WebAPI.Geometry",
40
+ "WebAPI.HTML",
41
+ "WebAPI.Media",
42
+ "WebAPI.SVG",
43
+ "Canvas"
44
+ ],
45
+ "WebAPI.Storage": ["WebAPI.Fetch", "Storage"],
46
+ "WebAPI.Workers": ["WebAPI.Messaging", "WebAPI.Storage", "Workers"],
47
+ "WebAPI.Navigator": [
48
+ "WebAPI.DOMPlatform",
49
+ "WebAPI.Device",
50
+ "WebAPI.Media",
51
+ "WebAPI.Storage",
52
+ "WebAPI.Workers",
53
+ "Navigator"
54
+ ],
55
+ "WebAPI.File": ["WebAPI.Event", "File"],
56
+ "WebAPI.URL": ["WebAPI.DOM", "URL"],
57
+ "WebAPI.Fetch": ["WebAPI.Event", "WebAPI.File", "WebAPI.URL", "Fetch"],
58
+ "WebAPI.CSSFontLoading": ["WebAPI.Event", "CSSFontLoading"],
59
+ "WebAPI.Device": ["WebAPI.Event", "Device"],
60
+ "WebAPI.Messaging": ["WebAPI.Event", "WebAPI.File", "Messaging"],
61
+ "WebAPI.Crypto": ["WebAPI.DOM", "Crypto"],
62
+ "WebAPI.Performance": ["WebAPI.Event", "Performance"],
63
+ "WebAPI.ViewTransitions": ["WebAPI.Event", "ViewTransitions"]
64
+ },
65
+ "sources": [
66
+ {
67
+ "dir": "src/core",
68
+ "subdirs": true,
69
+ "feature": "DOM",
70
+ "public": [
71
+ "DOM",
72
+ "EventType"
73
+ ]
74
+ },
75
+ {
76
+ "dir": "src/dom-platform",
77
+ "subdirs": true,
78
+ "feature": "DOMPlatform",
79
+ "public": [
80
+ "DOMException",
81
+ "DOMStringList",
82
+ "DOMTokenList"
83
+ ]
84
+ },
85
+ {
86
+ "dir": "src/dom-nodes",
87
+ "subdirs": true,
88
+ "feature": "DOMNodes",
89
+ "public": [
90
+ "AbstractRange",
91
+ "Attr",
92
+ "CaretPosition",
93
+ "CDATASection",
94
+ "CharacterData",
95
+ "Comment",
96
+ "DOMImplementation",
97
+ "DOMTree",
98
+ "DocumentFragment",
99
+ "Element",
100
+ "ElementInternals",
101
+ "HTML",
102
+ "HTMLCollection",
103
+ "NamedNodeMap",
104
+ "Node",
105
+ "NodeFilter",
106
+ "NodeIterator",
107
+ "NodeList",
108
+ "ProcessingInstruction",
109
+ "Range",
110
+ "Selection",
111
+ "ShadowRoot",
112
+ "StaticRange",
113
+ "Text",
114
+ "TreeWalker"
115
+ ]
116
+ },
117
+ {
118
+ "dir": "src/animation",
119
+ "subdirs": true,
120
+ "feature": "Animation",
121
+ "public": [
122
+ "Animation",
123
+ "AnimationEffect",
124
+ "DocumentTimeline"
125
+ ]
126
+ },
127
+ {
128
+ "dir": "src/cssom",
129
+ "subdirs": true,
130
+ "feature": "CSSOM",
131
+ "public": [
132
+ "CSSRuleList",
133
+ "CSSStyleDeclaration",
134
+ "CSSStyleValue",
135
+ "MediaList",
136
+ "MediaQueryList",
137
+ "StylePropertyMap",
138
+ "StylePropertyMapReadOnly",
139
+ "StyleSheet",
140
+ "StyleSheetList"
141
+ ]
142
+ },
143
+ {
144
+ "dir": "src/geometry",
145
+ "subdirs": true,
146
+ "feature": "Geometry",
147
+ "public": [
148
+ "DOMMatrix",
149
+ "DOMMatrixReadOnly",
150
+ "DOMPoint",
151
+ "DOMPointReadOnly",
152
+ "DOMRect",
153
+ "DOMRectList",
154
+ "DOMRectReadOnly"
155
+ ]
156
+ },
157
+ {
158
+ "dir": "src/svg",
159
+ "subdirs": true,
160
+ "feature": "SVG",
161
+ "public": [
162
+ "SVGElement",
163
+ "SVGGraphicsElement",
164
+ "SVGLength"
165
+ ]
166
+ },
167
+ {
168
+ "dir": "src/css-font-loading",
169
+ "subdirs": true,
170
+ "feature": "CSSFontLoading",
171
+ "public": [
172
+ "FontFace",
173
+ "FontFaceSet"
174
+ ]
175
+ },
176
+ {
177
+ "dir": "src/canvas",
178
+ "subdirs": true,
179
+ "feature": "Canvas",
180
+ "public": [
181
+ "Canvas",
182
+ "CanvasGradient",
183
+ "CanvasPattern",
184
+ "CanvasRenderingContext2D",
185
+ "FillStyle",
186
+ "HTMLCanvasElement",
187
+ "ImageBitmap",
188
+ "ImageBitmapRenderingContext",
189
+ "ImageData",
190
+ "OffscreenCanvas",
191
+ "Path2D",
192
+ "VideoColorSpace",
193
+ "VideoFrame"
194
+ ]
195
+ },
196
+ {
197
+ "dir": "src/messaging",
198
+ "subdirs": true,
199
+ "feature": "Messaging",
200
+ "public": [
201
+ "ApplicationServerKey",
202
+ "CloseEvent",
203
+ "MessageEvent",
204
+ "MessagePort",
205
+ "Notification",
206
+ "PushEvent",
207
+ "PushManager",
208
+ "PushMessageData",
209
+ "PushSubscription",
210
+ "WebSocket"
211
+ ]
212
+ },
213
+ {
214
+ "dir": "src/navigator",
215
+ "subdirs": true,
216
+ "feature": "Navigator",
217
+ "public": [
218
+ "Clipboard",
219
+ "ClipboardItem",
220
+ "CredentialsContainer",
221
+ "Navigator",
222
+ "Permissions"
223
+ ]
224
+ },
225
+ {
226
+ "dir": "src/html",
227
+ "subdirs": true,
228
+ "feature": "HTML",
229
+ "public": [
230
+ "HTMLAnchorElement",
231
+ "HTMLAreaElement",
232
+ "HTMLBRElement",
233
+ "HTMLBaseElement",
234
+ "HTMLBodyElement",
235
+ "HTMLButtonElement",
236
+ "HTMLDListElement",
237
+ "HTMLDataElement",
238
+ "HTMLDataListElement",
239
+ "HTMLDialogElement",
240
+ "HTMLDivElement",
241
+ "HTMLElement",
242
+ "HTMLEmbedElement",
243
+ "HTMLFieldSetElement",
244
+ "HTMLFormControlsCollection",
245
+ "HTMLFormElement",
246
+ "HTMLFrameSetElement",
247
+ "HTMLHRElement",
248
+ "HTMLHeadElement",
249
+ "HTMLHeadingElement",
250
+ "HTMLHtmlElement",
251
+ "HTMLIFrameElement",
252
+ "HTMLImageElement",
253
+ "HTMLInputElement",
254
+ "HTMLLIElement",
255
+ "HTMLLabelElement",
256
+ "HTMLLegendElement",
257
+ "HTMLLinkElement",
258
+ "HTMLMapElement",
259
+ "HTMLMenuElement",
260
+ "HTMLMetaElement",
261
+ "HTMLMeterElement",
262
+ "HTMLModElement",
263
+ "HTMLOListElement",
264
+ "HTMLObjectElement",
265
+ "HTMLOptGroupElement",
266
+ "HTMLOptionElement",
267
+ "HTMLOptionsCollection",
268
+ "HTMLOutputElement",
269
+ "HTMLParagraphElement",
270
+ "HTMLPictureElement",
271
+ "HTMLPreElement",
272
+ "HTMLProgressElement",
273
+ "HTMLQuoteElement",
274
+ "HTMLScriptElement",
275
+ "HTMLSelectElement",
276
+ "HTMLSlotElement",
277
+ "HTMLSourceElement",
278
+ "HTMLSpanElement",
279
+ "HTMLStyleElement",
280
+ "HTMLTableCaptionElement",
281
+ "HTMLTableCellElement",
282
+ "HTMLTableElement",
283
+ "HTMLTableRowElement",
284
+ "HTMLTableSectionElement",
285
+ "HTMLTemplateElement",
286
+ "HTMLTextAreaElement",
287
+ "HTMLTimeElement",
288
+ "HTMLTitleElement",
289
+ "HTMLUListElement",
290
+ "HTMLUnknownElement"
291
+ ]
292
+ },
293
+ {
294
+ "dir": "src/window",
295
+ "subdirs": true,
296
+ "feature": "Window",
297
+ "public": [
298
+ "CustomElementRegistry",
299
+ "Document",
300
+ "History",
301
+ "IdleDeadline",
302
+ "Location",
303
+ "VisualViewport",
304
+ "Window",
305
+ "XPathExpression",
306
+ "XPathResult"
307
+ ]
308
+ },
309
+ {
310
+ "dir": "src/event",
311
+ "subdirs": true,
312
+ "feature": "Event",
313
+ "public": [
314
+ "AbortController",
315
+ "AbortSignal",
316
+ "Event",
317
+ "EventTarget",
318
+ "ExtendableEvent"
319
+ ]
320
+ },
321
+ {
322
+ "dir": "src/fetch",
323
+ "subdirs": true,
324
+ "feature": "Fetch",
325
+ "public": [
326
+ "BodyInit",
327
+ "Fetch",
328
+ "FormData",
329
+ "FormDataEntryValue",
330
+ "Headers",
331
+ "HeadersInit",
332
+ "Request",
333
+ "Response"
334
+ ]
335
+ },
336
+ {
337
+ "dir": "src/file",
338
+ "subdirs": true,
339
+ "feature": "File",
340
+ "public": [
341
+ "Blob",
342
+ "File",
343
+ "FileList",
344
+ "FileSystemDirectoryEntry",
345
+ "FileSystemDirectoryHandle",
346
+ "FileSystemDirectoryReader",
347
+ "FileSystemEntry",
348
+ "FileSystemFileHandle",
349
+ "FileSystemHandle",
350
+ "FileSystemWritableFileStream",
351
+ "ReadableStream",
352
+ "WritableStream",
353
+ "WritableStreamDefaultController"
354
+ ]
355
+ },
356
+ {
357
+ "dir": "src/device",
358
+ "subdirs": true,
359
+ "feature": "Device",
360
+ "public": [
361
+ "GamepadHapticActuator",
362
+ "Geolocation",
363
+ "GeolocationCoordinates",
364
+ "GeolocationPosition",
365
+ "LockManager",
366
+ "ScreenOrientation",
367
+ "WakeLock",
368
+ "WakeLockSentinel",
369
+ "WebMIDI"
370
+ ]
371
+ },
372
+ {
373
+ "dir": "src/storage",
374
+ "subdirs": true,
375
+ "feature": "Storage",
376
+ "public": [
377
+ "Cache",
378
+ "CacheStorage",
379
+ "IDBDatabase",
380
+ "IDBFactory",
381
+ "IDBIndex",
382
+ "IDBObjectStore",
383
+ "IDBTransaction",
384
+ "Storage",
385
+ "StorageEvent",
386
+ "StorageManager"
387
+ ]
388
+ },
389
+ {
390
+ "dir": "src/observers",
391
+ "subdirs": true,
392
+ "feature": "Observers",
393
+ "public": [
394
+ "IntersectionObserver",
395
+ "IntersectionObserverRoot",
396
+ "MutationObserver",
397
+ "ResizeObserver"
398
+ ]
399
+ },
400
+ {
401
+ "dir": "src/media",
402
+ "subdirs": true,
403
+ "feature": "Media",
404
+ "public": [
405
+ "DomHTMLMediaElement",
406
+ "EncryptedMediaExtensionsHTMLMediaElement",
407
+ "HTMLAudioElement",
408
+ "HTMLTrackElement",
409
+ "HTMLVideoElement",
410
+ "MediaCapabilities",
411
+ "MediaDeviceInfo",
412
+ "MediaDevices",
413
+ "MediaError",
414
+ "MediaKeySession",
415
+ "MediaKeyStatusMap",
416
+ "MediaKeySystemAccess",
417
+ "MediaKeys",
418
+ "MediaMetadata",
419
+ "MediaSession",
420
+ "MediaStream",
421
+ "MediaStreamTrack",
422
+ "PictureInPicture",
423
+ "RemotePlayback",
424
+ "SpeechSynthesis",
425
+ "SpeechSynthesisUtterance",
426
+ "TextTrack",
427
+ "TextTrackCueList",
428
+ "TextTrackList",
429
+ "TimeRanges",
430
+ "VideoPlaybackQuality"
431
+ ]
432
+ },
433
+ {
434
+ "dir": "src/performance",
435
+ "subdirs": true,
436
+ "feature": "Performance",
437
+ "public": [
438
+ "Performance",
439
+ "PerformanceEntry",
440
+ "PerformanceMark"
441
+ ]
442
+ },
443
+ {
444
+ "dir": "src/workers",
445
+ "subdirs": true,
446
+ "feature": "Workers",
447
+ "public": [
448
+ "Clients",
449
+ "NavigationPreloadManager",
450
+ "ServiceWorker",
451
+ "ServiceWorkerContainer",
452
+ "ServiceWorkerRegistration",
453
+ "ServiceWorkerScope",
454
+ "SharedWorker",
455
+ "SharedWorkerScope",
456
+ "Worker",
457
+ "WorkerLocation"
458
+ ]
459
+ },
460
+ {
461
+ "dir": "src/ui-events",
462
+ "subdirs": true,
463
+ "feature": "UIEvents",
464
+ "public": [
465
+ "CompositionEvent",
466
+ "DataTransfer",
467
+ "DataTransferItem",
468
+ "DataTransferItemList",
469
+ "FocusEvent",
470
+ "InputEvent",
471
+ "KeyboardEvent",
472
+ "MouseEvent",
473
+ "PointerEvent",
474
+ "Touch",
475
+ "TouchEvent",
476
+ "TouchList",
477
+ "UIEvent",
478
+ "WheelEvent"
479
+ ]
480
+ },
481
+ {
482
+ "dir": "src/url",
483
+ "subdirs": true,
484
+ "feature": "URL",
485
+ "public": [
486
+ "URL",
487
+ "URLSearchParams"
488
+ ]
489
+ },
490
+ {
491
+ "dir": "src/view-transitions",
492
+ "subdirs": true,
493
+ "feature": "ViewTransitions",
494
+ "public": [
495
+ "ViewTransition"
496
+ ]
497
+ },
498
+ {
499
+ "dir": "src/web-audio",
500
+ "subdirs": true,
501
+ "feature": "WebAudio",
502
+ "public": [
503
+ "AnalyserNode",
504
+ "AudioBuffer",
505
+ "AudioBufferSourceNode",
506
+ "AudioContext",
507
+ "AudioDestinationNode",
508
+ "AudioNode",
509
+ "AudioParam",
510
+ "AudioProcessingEvent",
511
+ "AudioScheduledSourceNode",
512
+ "AudioWorkletNode",
513
+ "BaseAudioContext",
514
+ "BiquadFilterNode",
515
+ "ChannelMergerNode",
516
+ "ChannelSplitterNode",
517
+ "ConstantSourceNode",
518
+ "ConvolverNode",
519
+ "DelayNode",
520
+ "DynamicsCompressorNode",
521
+ "GainNode",
522
+ "IIRFilterNode",
523
+ "MediaElementAudioSourceNode",
524
+ "MediaStreamAudioDestinationNode",
525
+ "MediaStreamAudioSourceNode",
526
+ "OfflineAudioCompletionEvent",
527
+ "OfflineAudioContext",
528
+ "OscillatorNode",
529
+ "PannerNode",
530
+ "PeriodicWave",
531
+ "StereoPannerNode",
532
+ "WaveShaperNode",
533
+ "Worklet"
534
+ ]
535
+ },
536
+ {
537
+ "dir": "src/crypto",
538
+ "subdirs": true,
539
+ "feature": "Crypto",
540
+ "public": [
541
+ "Crypto",
542
+ "SubtleCrypto"
543
+ ]
544
+ },
545
+ {
546
+ "dir": "tests",
547
+ "subdirs": true,
548
+ "type": "dev"
549
+ }
550
+ ],
551
+ "package-specs": {
552
+ "module": "esmodule",
553
+ "in-source": true
554
+ },
555
+ "suffix": ".js",
556
+ "dependencies": []
557
+ }