@rescript/webapi 0.1.0-experimental-29b94b3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +14 -0
- package/package.json +38 -0
- package/rescript.json +19 -0
- package/src/CSSFontLoadingAPI/FontFace.res +34 -0
- package/src/CSSFontLoadingAPI/FontFaceSet.res +112 -0
- package/src/CSSFontLoadingAPI.res +101 -0
- package/src/CanvasAPI/ImageBitmap.res +8 -0
- package/src/CanvasAPI/OffscreenCanvas.res +123 -0
- package/src/CanvasAPI.res +55 -0
- package/src/ChannelMessagingAPI/MessagePort.res +120 -0
- package/src/ChannelMessagingAPI.res +13 -0
- package/src/ClipboardAPI/Clipboard.res +106 -0
- package/src/ClipboardAPI/ClipboardItem.res +21 -0
- package/src/ClipboardAPI.res +31 -0
- package/src/CredentialManagementAPI/CredentialsContainer.res +31 -0
- package/src/CredentialManagementAPI.res +140 -0
- package/src/DOMAPI/Animation.res +137 -0
- package/src/DOMAPI/AnimationEffect.res +19 -0
- package/src/DOMAPI/CSSRuleList.res +7 -0
- package/src/DOMAPI/CSSStyleDeclaration.res +36 -0
- package/src/DOMAPI/CSSStyleSheet.res +32 -0
- package/src/DOMAPI/CSSStyleValue.res +13 -0
- package/src/DOMAPI/CaretPosition.res +4 -0
- package/src/DOMAPI/CharacterData.res +272 -0
- package/src/DOMAPI/Comment.res +278 -0
- package/src/DOMAPI/CustomElementRegistry.res +31 -0
- package/src/DOMAPI/DOMImplementation.res +30 -0
- package/src/DOMAPI/DOMMatrix.res +169 -0
- package/src/DOMAPI/DOMMatrixReadOnly.res +103 -0
- package/src/DOMAPI/DOMPoint.res +29 -0
- package/src/DOMAPI/DOMPointReadOnly.res +24 -0
- package/src/DOMAPI/DOMRect.res +23 -0
- package/src/DOMAPI/DOMRectList.res +4 -0
- package/src/DOMAPI/DOMRectReadOnly.res +17 -0
- package/src/DOMAPI/DOMTokenList.res +72 -0
- package/src/DOMAPI/Document.res +634 -0
- package/src/DOMAPI/DocumentFragment.res +261 -0
- package/src/DOMAPI/DocumentTimeline.res +9 -0
- package/src/DOMAPI/Element.res +634 -0
- package/src/DOMAPI/ElementInternals.res +39 -0
- package/src/DOMAPI/FileList.res +8 -0
- package/src/DOMAPI/HTMLAnchorElement.res +693 -0
- package/src/DOMAPI/HTMLAreaElement.res +687 -0
- package/src/DOMAPI/HTMLAudioElement.res +750 -0
- package/src/DOMAPI/HTMLBRElement.res +686 -0
- package/src/DOMAPI/HTMLBaseElement.res +687 -0
- package/src/DOMAPI/HTMLBodyElement.res +687 -0
- package/src/DOMAPI/HTMLButtonElement.res +714 -0
- package/src/DOMAPI/HTMLCanvasElement.res +741 -0
- package/src/DOMAPI/HTMLCollection.res +15 -0
- package/src/DOMAPI/HTMLCollectionOf.res +16 -0
- package/src/DOMAPI/HTMLDListElement.res +690 -0
- package/src/DOMAPI/HTMLDataElement.res +687 -0
- package/src/DOMAPI/HTMLDataListElement.res +697 -0
- package/src/DOMAPI/HTMLDialogElement.res +715 -0
- package/src/DOMAPI/HTMLDivElement.res +686 -0
- package/src/DOMAPI/HTMLElement.res +685 -0
- package/src/DOMAPI/HTMLEmbedElement.res +693 -0
- package/src/DOMAPI/HTMLFieldSetElement.res +718 -0
- package/src/DOMAPI/HTMLFormControlsCollection.res +16 -0
- package/src/DOMAPI/HTMLFormElement.res +720 -0
- package/src/DOMAPI/HTMLFrameSetElement.res +697 -0
- package/src/DOMAPI/HTMLHRElement.res +686 -0
- package/src/DOMAPI/HTMLHeadElement.res +687 -0
- package/src/DOMAPI/HTMLHeadingElement.res +693 -0
- package/src/DOMAPI/HTMLHtmlElement.res +687 -0
- package/src/DOMAPI/HTMLIFrameElement.res +696 -0
- package/src/DOMAPI/HTMLImageElement.res +696 -0
- package/src/DOMAPI/HTMLInputElement.res +773 -0
- package/src/DOMAPI/HTMLLIElement.res +686 -0
- package/src/DOMAPI/HTMLLabelElement.res +690 -0
- package/src/DOMAPI/HTMLLegendElement.res +693 -0
- package/src/DOMAPI/HTMLLinkElement.res +687 -0
- package/src/DOMAPI/HTMLMapElement.res +686 -0
- package/src/DOMAPI/HTMLMediaElement.res +749 -0
- package/src/DOMAPI/HTMLMenuElement.res +687 -0
- package/src/DOMAPI/HTMLMetaElement.res +687 -0
- package/src/DOMAPI/HTMLMeterElement.res +690 -0
- package/src/DOMAPI/HTMLModElement.res +686 -0
- package/src/DOMAPI/HTMLOListElement.res +690 -0
- package/src/DOMAPI/HTMLObjectElement.res +717 -0
- package/src/DOMAPI/HTMLOptGroupElement.res +697 -0
- package/src/DOMAPI/HTMLOptionElement.res +693 -0
- package/src/DOMAPI/HTMLOptionsCollection.res +21 -0
- package/src/DOMAPI/HTMLOutputElement.res +711 -0
- package/src/DOMAPI/HTMLParagraphElement.res +701 -0
- package/src/DOMAPI/HTMLPictureElement.res +693 -0
- package/src/DOMAPI/HTMLPreElement.res +686 -0
- package/src/DOMAPI/HTMLProgressElement.res +697 -0
- package/src/DOMAPI/HTMLQuoteElement.res +690 -0
- package/src/DOMAPI/HTMLScriptElement.res +699 -0
- package/src/DOMAPI/HTMLSelectElement.res +762 -0
- package/src/DOMAPI/HTMLSlotElement.res +713 -0
- package/src/DOMAPI/HTMLSourceElement.res +693 -0
- package/src/DOMAPI/HTMLSpanElement.res +687 -0
- package/src/DOMAPI/HTMLStyleElement.res +690 -0
- package/src/DOMAPI/HTMLTableCaptionElement.res +714 -0
- package/src/DOMAPI/HTMLTableCellElement.res +701 -0
- package/src/DOMAPI/HTMLTableElement.res +755 -0
- package/src/DOMAPI/HTMLTableRowElement.res +713 -0
- package/src/DOMAPI/HTMLTableSectionElement.res +730 -0
- package/src/DOMAPI/HTMLTemplateElement.res +697 -0
- package/src/DOMAPI/HTMLTextAreaElement.res +758 -0
- package/src/DOMAPI/HTMLTimeElement.res +687 -0
- package/src/DOMAPI/HTMLTitleElement.res +690 -0
- package/src/DOMAPI/HTMLTrackElement.res +690 -0
- package/src/DOMAPI/HTMLUListElement.res +690 -0
- package/src/DOMAPI/HTMLVideoElement.res +778 -0
- package/src/DOMAPI/IdleDeadline.res +7 -0
- package/src/DOMAPI/ImageData.res +18 -0
- package/src/DOMAPI/Location.res +22 -0
- package/src/DOMAPI/MediaList.res +19 -0
- package/src/DOMAPI/MediaQueryList.res +82 -0
- package/src/DOMAPI/NamedNodeMap.res +45 -0
- package/src/DOMAPI/Navigator.res +114 -0
- package/src/DOMAPI/Node.res +179 -0
- package/src/DOMAPI/NodeFilter.res +4 -0
- package/src/DOMAPI/NodeIterator.res +13 -0
- package/src/DOMAPI/NodeList.res +8 -0
- package/src/DOMAPI/NodeListOf.res +9 -0
- package/src/DOMAPI/Range.res +149 -0
- package/src/DOMAPI/SVGGraphicsElement.res +675 -0
- package/src/DOMAPI/SVGLength.res +11 -0
- package/src/DOMAPI/ScreenOrientation.res +88 -0
- package/src/DOMAPI/Selection.res +103 -0
- package/src/DOMAPI/ShadowRoot.res +274 -0
- package/src/DOMAPI/StylePropertyMap.res +50 -0
- package/src/DOMAPI/StylePropertyMapReadOnly.res +13 -0
- package/src/DOMAPI/StyleSheetList.res +7 -0
- package/src/DOMAPI/Text.res +285 -0
- package/src/DOMAPI/TextTrackList.res +89 -0
- package/src/DOMAPI/TimeRanges.res +19 -0
- package/src/DOMAPI/TreeWalker.res +43 -0
- package/src/DOMAPI/VideoColorSpace.res +13 -0
- package/src/DOMAPI/VideoFrame.res +111 -0
- package/src/DOMAPI/Window.res +582 -0
- package/src/DOMAPI/XPathExpression.res +12 -0
- package/src/DOMAPI/XPathResult.res +13 -0
- package/src/DOMAPI.res +9668 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeySession.res +132 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeyStatusMap.res +13 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeySystemAccess.res +13 -0
- package/src/EncryptedMediaExtensionsAPI/MediaKeys.res +28 -0
- package/src/EncryptedMediaExtensionsAPI.res +100 -0
- package/src/EventAPI/AbortController.res +15 -0
- package/src/EventAPI/AbortSignal.res +106 -0
- package/src/EventAPI/Event.res +35 -0
- package/src/EventAPI/EventTarget.res +86 -0
- package/src/EventAPI.res +215 -0
- package/src/FetchAPI/FormData.res +58 -0
- package/src/FetchAPI/Headers.res +50 -0
- package/src/FetchAPI/Request.res +57 -0
- package/src/FetchAPI/Response.res +105 -0
- package/src/FetchAPI/URLSearchParams.res +68 -0
- package/src/FetchAPI.res +287 -0
- package/src/FileAPI/Blob.res +37 -0
- package/src/FileAPI/File.res +42 -0
- package/src/FileAPI/FileSystemDirectoryHandle.res +46 -0
- package/src/FileAPI/FileSystemFileHandle.res +23 -0
- package/src/FileAPI/FileSystemHandle.res +7 -0
- package/src/FileAPI/FileSystemWritableFileStream.res +63 -0
- package/src/FileAPI/ReadableStream.res +61 -0
- package/src/FileAPI/WritableStream.res +29 -0
- package/src/FileAPI/WritableStreamDefaultController.res +8 -0
- package/src/FileAPI.res +218 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryEntry.res +42 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemDirectoryReader.res +12 -0
- package/src/FileAndDirectoryEntriesAPI/FileSystemEntry.res +11 -0
- package/src/FileAndDirectoryEntriesAPI.res +87 -0
- package/src/GamepadAPI/GamepadHapticActuator.res +17 -0
- package/src/GamepadAPI.res +85 -0
- package/src/GeolocationAPI/Geolocation.res +29 -0
- package/src/GeolocationAPI/GeolocationCoordinates.res +7 -0
- package/src/GeolocationAPI/GeolocationPosition.res +7 -0
- package/src/GeolocationAPI.res +78 -0
- package/src/Global.res +302 -0
- package/src/HistoryAPI/History.res +33 -0
- package/src/HistoryAPI.res +26 -0
- package/src/IndexedDBAPI/IDBDatabase.res +135 -0
- package/src/IndexedDBAPI/IDBFactory.res +31 -0
- package/src/IndexedDBAPI/IDBIndex.res +74 -0
- package/src/IndexedDBAPI/IDBObjectStore.res +167 -0
- package/src/IndexedDBAPI/IDBTransaction.res +102 -0
- package/src/IndexedDBAPI.res +205 -0
- package/src/MediaCapabilitiesAPI/MediaCapabilities.res +19 -0
- package/src/MediaCapabilitiesAPI.res +81 -0
- package/src/MediaCaptureAndStreamsAPI/MediaDeviceInfo.res +7 -0
- package/src/MediaCaptureAndStreamsAPI/MediaDevices.res +113 -0
- package/src/MediaCaptureAndStreamsAPI/MediaStream.res +142 -0
- package/src/MediaCaptureAndStreamsAPI/MediaStreamTrack.res +122 -0
- package/src/MediaCaptureAndStreamsAPI.res +194 -0
- package/src/MediaSessionAPI/MediaMetadata.res +7 -0
- package/src/MediaSessionAPI/MediaSession.res +17 -0
- package/src/MediaSessionAPI.res +83 -0
- package/src/NotificationAPI/Notification.res +102 -0
- package/src/NotificationAPI.res +82 -0
- package/src/PerformanceAPI/Performance.res +169 -0
- package/src/PerformanceAPI/PerformanceEntry.res +7 -0
- package/src/PerformanceAPI/PerformanceMark.res +15 -0
- package/src/PerformanceAPI.res +86 -0
- package/src/PermissionsAPI/Permissions.res +7 -0
- package/src/PermissionsAPI.res +39 -0
- package/src/PictureInPicture.res +18 -0
- package/src/PictureInPictureAPI.res +18 -0
- package/src/Prelude/DOMException.res +7 -0
- package/src/Prelude/DOMStringList.res +15 -0
- package/src/Prelude.res +39 -0
- package/src/PushManagerAPI/PushManager.res +25 -0
- package/src/PushManagerAPI/PushSubscription.res +19 -0
- package/src/PushManagerAPI.res +67 -0
- package/src/RemotePlaybackAPI/RemotePlayback.res +102 -0
- package/src/RemotePlaybackAPI.res +21 -0
- package/src/ResizeObserverAPI/ResizeObserver.res +27 -0
- package/src/ResizeObserverAPI.res +58 -0
- package/src/ScreenWakeLockAPI/WakeLock.res +7 -0
- package/src/ScreenWakeLockAPI/WakeLockSentinel.res +88 -0
- package/src/ScreenWakeLockAPI.res +26 -0
- package/src/ServiceWorkerAPI/Cache.res +100 -0
- package/src/ServiceWorkerAPI/CacheStorage.res +46 -0
- package/src/ServiceWorkerAPI/NavigationPreloadManager.res +25 -0
- package/src/ServiceWorkerAPI/ServiceWorker.res +101 -0
- package/src/ServiceWorkerAPI/ServiceWorkerContainer.res +114 -0
- package/src/ServiceWorkerAPI/ServiceWorkerRegistration.res +114 -0
- package/src/ServiceWorkerAPI.res +134 -0
- package/src/StorageAPI/StorageManager.res +26 -0
- package/src/StorageAPI.res +10 -0
- package/src/ViewTransitionsAPI/ViewTransition.res +7 -0
- package/src/ViewTransitionsAPI.res +23 -0
- package/src/VisualViewportAPI.res +38 -0
- package/src/WebAudioAPI/AnalyserNode.res +180 -0
- package/src/WebAudioAPI/AudioBuffer.res +35 -0
- package/src/WebAudioAPI/AudioBufferSourceNode.res +183 -0
- package/src/WebAudioAPI/AudioContext.res +266 -0
- package/src/WebAudioAPI/AudioListener.res +1 -0
- package/src/WebAudioAPI/AudioNode.res +143 -0
- package/src/WebAudioAPI/AudioParam.res +56 -0
- package/src/WebAudioAPI/AudioProcessingEvent.res +38 -0
- package/src/WebAudioAPI/AudioScheduledSourceNode.res +171 -0
- package/src/WebAudioAPI/AudioWorkletNode.res +160 -0
- package/src/WebAudioAPI/BaseAudioContext.res +212 -0
- package/src/WebAudioAPI/BiquadFilterNode.res +168 -0
- package/src/WebAudioAPI/ChannelMergerNode.res +157 -0
- package/src/WebAudioAPI/ChannelSplitterNode.res +159 -0
- package/src/WebAudioAPI/ConstantSourceNode.res +172 -0
- package/src/WebAudioAPI/ConvolverNode.res +157 -0
- package/src/WebAudioAPI/DelayNode.res +150 -0
- package/src/WebAudioAPI/DynamicsCompressorNode.res +162 -0
- package/src/WebAudioAPI/GainNode.res +149 -0
- package/src/WebAudioAPI/IIRFilterNode.res +168 -0
- package/src/WebAudioAPI/MediaElementAudioSourceNode.res +168 -0
- package/src/WebAudioAPI/MediaStreamAudioDestinationNode.res +168 -0
- package/src/WebAudioAPI/MediaStreamAudioSourceNode.res +168 -0
- package/src/WebAudioAPI/OfflineAudioCompletionEvent.res +40 -0
- package/src/WebAudioAPI/OfflineAudioContext.res +246 -0
- package/src/WebAudioAPI/OscillatorNode.res +176 -0
- package/src/WebAudioAPI/PannerNode.res +150 -0
- package/src/WebAudioAPI/PeriodicWave.res +8 -0
- package/src/WebAudioAPI/StereoPannerNode.res +157 -0
- package/src/WebAudioAPI/WaveShaperNode.res +157 -0
- package/src/WebAudioAPI/Worklet.res +13 -0
- package/src/WebAudioAPI.res +1271 -0
- package/src/WebCryptoAPI/Crypto.res +13 -0
- package/src/WebCryptoAPI/SubtleCrypto.res +173 -0
- package/src/WebCryptoAPI.res +71 -0
- package/src/WebLocksAPI/LockManager.res +29 -0
- package/src/WebLocksAPI.res +47 -0
- package/src/WebMIDIAPI.res +37 -0
- package/src/WebSocketsAPI/CloseEvent.res +37 -0
- package/src/WebSocketsAPI/MessageEvent.res +38 -0
- package/src/WebSocketsAPI/WebSocket.res +130 -0
- package/src/WebSocketsAPI.res +125 -0
- package/src/WebSpeechAPI/SpeechSynthesis.res +112 -0
- package/src/WebSpeechAPI/SpeechSynthesisUtterance.res +88 -0
- package/src/WebSpeechAPI.res +82 -0
- package/src/WebStorageAPI/Storage.res +44 -0
- package/src/WebStorageAPI/StorageEvent.res +37 -0
- package/src/WebStorageAPI.res +57 -0
- package/src/WebVTTAPI/TextTrack.res +96 -0
- package/src/WebVTTAPI/TextTrackCueList.res +10 -0
- package/src/WebVTTAPI.res +122 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open NotificationAPI
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification)
|
|
6
|
+
*/
|
|
7
|
+
@new
|
|
8
|
+
external make: (~title: string, ~options: notificationOptions=?) => notification = "Notification"
|
|
9
|
+
|
|
10
|
+
external asEventTarget: notification => eventTarget = "%identity"
|
|
11
|
+
/**
|
|
12
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
13
|
+
|
|
14
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
15
|
+
|
|
16
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
17
|
+
|
|
18
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
19
|
+
|
|
20
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
21
|
+
|
|
22
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
23
|
+
|
|
24
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
25
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
26
|
+
*/
|
|
27
|
+
@send
|
|
28
|
+
external addEventListener: (
|
|
29
|
+
notification,
|
|
30
|
+
~type_: eventType,
|
|
31
|
+
~callback: eventListener<'event>,
|
|
32
|
+
~options: addEventListenerOptions=?,
|
|
33
|
+
) => unit = "addEventListener"
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
37
|
+
|
|
38
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
39
|
+
|
|
40
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
41
|
+
|
|
42
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
43
|
+
|
|
44
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
45
|
+
|
|
46
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
47
|
+
|
|
48
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
49
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
50
|
+
*/
|
|
51
|
+
@send
|
|
52
|
+
external addEventListener2: (
|
|
53
|
+
notification,
|
|
54
|
+
~type_: eventType,
|
|
55
|
+
~callback: eventListener<'event>,
|
|
56
|
+
~options: bool=?,
|
|
57
|
+
) => unit = "addEventListener"
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
61
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
62
|
+
*/
|
|
63
|
+
@send
|
|
64
|
+
external removeEventListener: (
|
|
65
|
+
notification,
|
|
66
|
+
~type_: eventType,
|
|
67
|
+
~callback: eventListener<'event>,
|
|
68
|
+
~options: eventListenerOptions=?,
|
|
69
|
+
) => unit = "removeEventListener"
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
73
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
74
|
+
*/
|
|
75
|
+
@send
|
|
76
|
+
external removeEventListener2: (
|
|
77
|
+
notification,
|
|
78
|
+
~type_: eventType,
|
|
79
|
+
~callback: eventListener<'event>,
|
|
80
|
+
~options: bool=?,
|
|
81
|
+
) => unit = "removeEventListener"
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
|
85
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
|
86
|
+
*/
|
|
87
|
+
@send
|
|
88
|
+
external dispatchEvent: (notification, event) => bool = "dispatchEvent"
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/requestPermission_static)
|
|
92
|
+
*/
|
|
93
|
+
@scope("Notification")
|
|
94
|
+
external requestPermission: (
|
|
95
|
+
~deprecatedCallback: notificationPermissionCallback=?,
|
|
96
|
+
) => Promise.t<notificationPermission> = "requestPermission"
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/close)
|
|
100
|
+
*/
|
|
101
|
+
@send
|
|
102
|
+
external close: notification => unit = "close"
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open Prelude
|
|
4
|
+
open EventAPI
|
|
5
|
+
|
|
6
|
+
type notificationDirection =
|
|
7
|
+
| @as("auto") Auto
|
|
8
|
+
| @as("ltr") Ltr
|
|
9
|
+
| @as("rtl") Rtl
|
|
10
|
+
|
|
11
|
+
type notificationPermission =
|
|
12
|
+
| @as("default") Default
|
|
13
|
+
| @as("denied") Denied
|
|
14
|
+
| @as("granted") Granted
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
This Notifications API interface is used to configure and display desktop notifications to the user.
|
|
18
|
+
[See Notification on MDN](https://developer.mozilla.org/docs/Web/API/Notification)
|
|
19
|
+
*/
|
|
20
|
+
type notification = {
|
|
21
|
+
...eventTarget,
|
|
22
|
+
/**
|
|
23
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/permission_static)
|
|
24
|
+
*/
|
|
25
|
+
permission: notificationPermission,
|
|
26
|
+
/**
|
|
27
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/title)
|
|
28
|
+
*/
|
|
29
|
+
title: string,
|
|
30
|
+
/**
|
|
31
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/dir)
|
|
32
|
+
*/
|
|
33
|
+
dir: notificationDirection,
|
|
34
|
+
/**
|
|
35
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/lang)
|
|
36
|
+
*/
|
|
37
|
+
lang: string,
|
|
38
|
+
/**
|
|
39
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/body)
|
|
40
|
+
*/
|
|
41
|
+
body: string,
|
|
42
|
+
/**
|
|
43
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/tag)
|
|
44
|
+
*/
|
|
45
|
+
tag: string,
|
|
46
|
+
/**
|
|
47
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/icon)
|
|
48
|
+
*/
|
|
49
|
+
icon: string,
|
|
50
|
+
/**
|
|
51
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/badge)
|
|
52
|
+
*/
|
|
53
|
+
badge: string,
|
|
54
|
+
/**
|
|
55
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/silent)
|
|
56
|
+
*/
|
|
57
|
+
silent: Null.t<bool>,
|
|
58
|
+
/**
|
|
59
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/requireInteraction)
|
|
60
|
+
*/
|
|
61
|
+
requireInteraction: bool,
|
|
62
|
+
/**
|
|
63
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Notification/data)
|
|
64
|
+
*/
|
|
65
|
+
data: JSON.t,
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
type notificationOptions = {
|
|
69
|
+
mutable dir?: notificationDirection,
|
|
70
|
+
mutable lang?: string,
|
|
71
|
+
mutable body?: string,
|
|
72
|
+
mutable tag?: string,
|
|
73
|
+
mutable icon?: string,
|
|
74
|
+
mutable badge?: string,
|
|
75
|
+
mutable silent?: Null.t<bool>,
|
|
76
|
+
mutable requireInteraction?: bool,
|
|
77
|
+
mutable data?: JSON.t,
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
type getNotificationOptions = {mutable tag?: string}
|
|
81
|
+
|
|
82
|
+
type notificationPermissionCallback = notificationPermission => unit
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open PerformanceAPI
|
|
3
|
+
|
|
4
|
+
external asEventTarget: performance => eventTarget = "%identity"
|
|
5
|
+
/**
|
|
6
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
7
|
+
|
|
8
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
9
|
+
|
|
10
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
11
|
+
|
|
12
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
13
|
+
|
|
14
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
15
|
+
|
|
16
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
17
|
+
|
|
18
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
19
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
20
|
+
*/
|
|
21
|
+
@send
|
|
22
|
+
external addEventListener: (
|
|
23
|
+
performance,
|
|
24
|
+
~type_: eventType,
|
|
25
|
+
~callback: eventListener<'event>,
|
|
26
|
+
~options: addEventListenerOptions=?,
|
|
27
|
+
) => unit = "addEventListener"
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
Appends an event listener for events whose type attribute value is type. The callback argument sets the callback that will be invoked when the event is dispatched.
|
|
31
|
+
|
|
32
|
+
The options argument sets listener-specific options. For compatibility this can be a boolean, in which case the method behaves exactly as if the value was specified as options's capture.
|
|
33
|
+
|
|
34
|
+
When set to true, options's capture prevents callback from being invoked when the event's eventPhase attribute value is BUBBLING_PHASE. When false (or not present), callback will not be invoked when event's eventPhase attribute value is CAPTURING_PHASE. Either way, callback will be invoked if event's eventPhase attribute value is AT_TARGET.
|
|
35
|
+
|
|
36
|
+
When set to true, options's passive indicates that the callback will not cancel the event by invoking preventDefault(). This is used to enable performance optimizations described in § 2.8 Observing event listeners.
|
|
37
|
+
|
|
38
|
+
When set to true, options's once indicates that the callback will only be invoked once after which the event listener will be removed.
|
|
39
|
+
|
|
40
|
+
If an AbortSignal is passed for options's signal, then the event listener will be removed when signal is aborted.
|
|
41
|
+
|
|
42
|
+
The event listener is appended to target's event listener list and is not appended if it has the same type, callback, and capture.
|
|
43
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/addEventListener)
|
|
44
|
+
*/
|
|
45
|
+
@send
|
|
46
|
+
external addEventListener2: (
|
|
47
|
+
performance,
|
|
48
|
+
~type_: eventType,
|
|
49
|
+
~callback: eventListener<'event>,
|
|
50
|
+
~options: bool=?,
|
|
51
|
+
) => unit = "addEventListener"
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
55
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
56
|
+
*/
|
|
57
|
+
@send
|
|
58
|
+
external removeEventListener: (
|
|
59
|
+
performance,
|
|
60
|
+
~type_: eventType,
|
|
61
|
+
~callback: eventListener<'event>,
|
|
62
|
+
~options: eventListenerOptions=?,
|
|
63
|
+
) => unit = "removeEventListener"
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
Removes the event listener in target's event listener list with the same type, callback, and options.
|
|
67
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/removeEventListener)
|
|
68
|
+
*/
|
|
69
|
+
@send
|
|
70
|
+
external removeEventListener2: (
|
|
71
|
+
performance,
|
|
72
|
+
~type_: eventType,
|
|
73
|
+
~callback: eventListener<'event>,
|
|
74
|
+
~options: bool=?,
|
|
75
|
+
) => unit = "removeEventListener"
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
Dispatches a synthetic event event to target and returns true if either event's cancelable attribute value is false or its preventDefault() method was not invoked, and false otherwise.
|
|
79
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/EventTarget/dispatchEvent)
|
|
80
|
+
*/
|
|
81
|
+
@send
|
|
82
|
+
external dispatchEvent: (performance, event) => bool = "dispatchEvent"
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/now)
|
|
86
|
+
*/
|
|
87
|
+
@send
|
|
88
|
+
external now: performance => float = "now"
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/toJSON)
|
|
92
|
+
*/
|
|
93
|
+
@send
|
|
94
|
+
external toJSON: performance => Dict.t<string> = "toJSON"
|
|
95
|
+
|
|
96
|
+
/**
|
|
97
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntries)
|
|
98
|
+
*/
|
|
99
|
+
@send
|
|
100
|
+
external getEntries: performance => performanceEntryList = "getEntries"
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByType)
|
|
104
|
+
*/
|
|
105
|
+
@send
|
|
106
|
+
external getEntriesByType: (performance, string) => performanceEntryList = "getEntriesByType"
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/getEntriesByName)
|
|
110
|
+
*/
|
|
111
|
+
@send
|
|
112
|
+
external getEntriesByName: (performance, ~name: string, ~type_: string=?) => performanceEntryList =
|
|
113
|
+
"getEntriesByName"
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearResourceTimings)
|
|
117
|
+
*/
|
|
118
|
+
@send
|
|
119
|
+
external clearResourceTimings: performance => unit = "clearResourceTimings"
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/setResourceTimingBufferSize)
|
|
123
|
+
*/
|
|
124
|
+
@send
|
|
125
|
+
external setResourceTimingBufferSize: (performance, int) => unit = "setResourceTimingBufferSize"
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/mark)
|
|
129
|
+
*/
|
|
130
|
+
@send
|
|
131
|
+
external mark: (
|
|
132
|
+
performance,
|
|
133
|
+
~markName: string,
|
|
134
|
+
~markOptions: performanceMarkOptions=?,
|
|
135
|
+
) => performanceMark = "mark"
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearMarks)
|
|
139
|
+
*/
|
|
140
|
+
@send
|
|
141
|
+
external clearMarks: (performance, ~markName: string=?) => unit = "clearMarks"
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/measure)
|
|
145
|
+
*/
|
|
146
|
+
@send
|
|
147
|
+
external measure: (
|
|
148
|
+
performance,
|
|
149
|
+
~measureName: string,
|
|
150
|
+
~startOrMeasureOptions: string=?,
|
|
151
|
+
~endMark: string=?,
|
|
152
|
+
) => performanceMeasure = "measure"
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/measure)
|
|
156
|
+
*/
|
|
157
|
+
@send
|
|
158
|
+
external measure2: (
|
|
159
|
+
performance,
|
|
160
|
+
~measureName: string,
|
|
161
|
+
~startOrMeasureOptions: performanceMeasureOptions=?,
|
|
162
|
+
~endMark: string=?,
|
|
163
|
+
) => performanceMeasure = "measure"
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/clearMeasures)
|
|
167
|
+
*/
|
|
168
|
+
@send
|
|
169
|
+
external clearMeasures: (performance, ~measureName: string=?) => unit = "clearMeasures"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
open PerformanceAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark)
|
|
5
|
+
*/
|
|
6
|
+
@new
|
|
7
|
+
external make: (~markName: string, ~markOptions: performanceMarkOptions=?) => performanceMark =
|
|
8
|
+
"PerformanceMark"
|
|
9
|
+
|
|
10
|
+
external asPerformanceEntry: performanceMark => performanceEntry = "%identity"
|
|
11
|
+
/**
|
|
12
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/toJSON)
|
|
13
|
+
*/
|
|
14
|
+
@send
|
|
15
|
+
external toJSON: performanceMark => Dict.t<string> = "toJSON"
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open Prelude
|
|
4
|
+
open EventAPI
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
[See EventCounts on MDN](https://developer.mozilla.org/docs/Web/API/EventCounts)
|
|
8
|
+
*/
|
|
9
|
+
type eventCounts = {}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
Provides access to performance-related information for the current page. It's part of the High Resolution Time API, but is enhanced by the Performance Timeline API, the Navigation Timing API, the User Timing API, and the Resource Timing API.
|
|
13
|
+
[See Performance on MDN](https://developer.mozilla.org/docs/Web/API/Performance)
|
|
14
|
+
*/
|
|
15
|
+
type performance = {
|
|
16
|
+
...eventTarget,
|
|
17
|
+
/**
|
|
18
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/timeOrigin)
|
|
19
|
+
*/
|
|
20
|
+
timeOrigin: float,
|
|
21
|
+
/**
|
|
22
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/Performance/eventCounts)
|
|
23
|
+
*/
|
|
24
|
+
eventCounts: eventCounts,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
Encapsulates a single performance metric that is part of the performance timeline. A performance entry can be directly created by making a performance mark or measure (for example by calling the mark() method) at an explicit point in an application. Performance entries are also created in indirect ways such as loading a resource (such as an image).
|
|
29
|
+
[See PerformanceEntry on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry)
|
|
30
|
+
*/
|
|
31
|
+
type performanceEntry = {
|
|
32
|
+
/**
|
|
33
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/name)
|
|
34
|
+
*/
|
|
35
|
+
name: string,
|
|
36
|
+
/**
|
|
37
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/entryType)
|
|
38
|
+
*/
|
|
39
|
+
entryType: string,
|
|
40
|
+
/**
|
|
41
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/startTime)
|
|
42
|
+
*/
|
|
43
|
+
startTime: float,
|
|
44
|
+
/**
|
|
45
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceEntry/duration)
|
|
46
|
+
*/
|
|
47
|
+
duration: float,
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
PerformanceMark is an abstract interface for PerformanceEntry objects with an entryType of "mark". Entries of this type are created by calling performance.mark() to add a named DOMHighResTimeStamp (the mark) to the browser's performance timeline.
|
|
52
|
+
[See PerformanceMark on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark)
|
|
53
|
+
*/
|
|
54
|
+
type performanceMark = {
|
|
55
|
+
...performanceEntry,
|
|
56
|
+
/**
|
|
57
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMark/detail)
|
|
58
|
+
*/
|
|
59
|
+
detail: JSON.t,
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
PerformanceMeasure is an abstract interface for PerformanceEntry objects with an entryType of "measure". Entries of this type are created by calling performance.measure() to add a named DOMHighResTimeStamp (the measure) between two marks to the browser's performance timeline.
|
|
64
|
+
[See PerformanceMeasure on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure)
|
|
65
|
+
*/
|
|
66
|
+
type performanceMeasure = {
|
|
67
|
+
...performanceEntry,
|
|
68
|
+
/**
|
|
69
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PerformanceMeasure/detail)
|
|
70
|
+
*/
|
|
71
|
+
detail: JSON.t,
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
type performanceEntryList = any
|
|
75
|
+
|
|
76
|
+
type performanceMarkOptions = {
|
|
77
|
+
mutable detail?: JSON.t,
|
|
78
|
+
mutable startTime?: float,
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
type performanceMeasureOptions = {
|
|
82
|
+
mutable detail?: JSON.t,
|
|
83
|
+
mutable start?: unknown,
|
|
84
|
+
mutable duration?: float,
|
|
85
|
+
mutable end?: unknown,
|
|
86
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open EventAPI
|
|
4
|
+
|
|
5
|
+
type permissionName =
|
|
6
|
+
| @as("geolocation") Geolocation
|
|
7
|
+
| @as("midi") Midi
|
|
8
|
+
| @as("notifications") Notifications
|
|
9
|
+
| @as("persistent-storage") PersistentStorage
|
|
10
|
+
| @as("push") Push
|
|
11
|
+
| @as("screen-wake-lock") ScreenWakeLock
|
|
12
|
+
| @as("storage-access") StorageAccess
|
|
13
|
+
|
|
14
|
+
type permissionState =
|
|
15
|
+
| @as("denied") Denied
|
|
16
|
+
| @as("granted") Granted
|
|
17
|
+
| @as("prompt") Prompt
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
[See Permissions on MDN](https://developer.mozilla.org/docs/Web/API/Permissions)
|
|
21
|
+
*/
|
|
22
|
+
type permissions = {}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
[See PermissionStatus on MDN](https://developer.mozilla.org/docs/Web/API/PermissionStatus)
|
|
26
|
+
*/
|
|
27
|
+
type permissionStatus = {
|
|
28
|
+
...eventTarget,
|
|
29
|
+
/**
|
|
30
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PermissionStatus/state)
|
|
31
|
+
*/
|
|
32
|
+
state: permissionState,
|
|
33
|
+
/**
|
|
34
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PermissionStatus/name)
|
|
35
|
+
*/
|
|
36
|
+
name: string,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type permissionDescriptor = {mutable name: permissionName}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open EventAPI
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
[See PictureInPictureWindow on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow)
|
|
7
|
+
*/
|
|
8
|
+
type pictureInPictureWindow = {
|
|
9
|
+
...eventTarget,
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/width)
|
|
12
|
+
*/
|
|
13
|
+
width: int,
|
|
14
|
+
/**
|
|
15
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/height)
|
|
16
|
+
*/
|
|
17
|
+
height: int,
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open EventAPI
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
[See PictureInPictureWindow on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow)
|
|
7
|
+
*/
|
|
8
|
+
type pictureInPictureWindow = {
|
|
9
|
+
...eventTarget,
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/width)
|
|
12
|
+
*/
|
|
13
|
+
width: int,
|
|
14
|
+
/**
|
|
15
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/height)
|
|
16
|
+
*/
|
|
17
|
+
height: int,
|
|
18
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
open Prelude
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Returns the string with index index from strings.
|
|
5
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/item)
|
|
6
|
+
*/
|
|
7
|
+
@send
|
|
8
|
+
external item: (domStringList, int) => string = "item"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
Returns true if strings contains string, and false otherwise.
|
|
12
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/contains)
|
|
13
|
+
*/
|
|
14
|
+
@send
|
|
15
|
+
external contains: (domStringList, string) => bool = "contains"
|
package/src/Prelude.res
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
type any = {}
|
|
3
|
+
|
|
4
|
+
external unsafeConversation: 'tinput => 'toutput = "%identity"
|
|
5
|
+
|
|
6
|
+
type bufferSource = any
|
|
7
|
+
|
|
8
|
+
type bodyInit = any
|
|
9
|
+
|
|
10
|
+
type sharedArrayBuffer = any
|
|
11
|
+
|
|
12
|
+
type float64Array = any
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
An abnormal event (called an exception) which occurs as a result of calling a method or accessing a property of a web API.
|
|
16
|
+
[See DOMException on MDN](https://developer.mozilla.org/docs/Web/API/DOMException)
|
|
17
|
+
*/
|
|
18
|
+
type domException = {
|
|
19
|
+
/**
|
|
20
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMException/name)
|
|
21
|
+
*/
|
|
22
|
+
name: string,
|
|
23
|
+
/**
|
|
24
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMException/message)
|
|
25
|
+
*/
|
|
26
|
+
message: string,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
A type returned by some APIs which contains a list of DOMString (strings).
|
|
31
|
+
[See DOMStringList on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList)
|
|
32
|
+
*/
|
|
33
|
+
type domStringList = {
|
|
34
|
+
/**
|
|
35
|
+
Returns the number of strings in strings.
|
|
36
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/DOMStringList/length)
|
|
37
|
+
*/
|
|
38
|
+
length: int,
|
|
39
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
open PushManagerAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/subscribe)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external subscribe: (
|
|
8
|
+
pushManager,
|
|
9
|
+
~options: pushSubscriptionOptionsInit=?,
|
|
10
|
+
) => Promise.t<pushSubscription> = "subscribe"
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/getSubscription)
|
|
14
|
+
*/
|
|
15
|
+
@send
|
|
16
|
+
external getSubscription: pushManager => Promise.t<pushSubscription> = "getSubscription"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushManager/permissionState)
|
|
20
|
+
*/
|
|
21
|
+
@send
|
|
22
|
+
external permissionState: (
|
|
23
|
+
pushManager,
|
|
24
|
+
~options: pushSubscriptionOptionsInit=?,
|
|
25
|
+
) => Promise.t<permissionState> = "permissionState"
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
open PushManagerAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/getKey)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external getKey: (pushSubscription, pushEncryptionKeyName) => ArrayBuffer.t = "getKey"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/unsubscribe)
|
|
11
|
+
*/
|
|
12
|
+
@send
|
|
13
|
+
external unsubscribe: pushSubscription => Promise.t<bool> = "unsubscribe"
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PushSubscription/toJSON)
|
|
17
|
+
*/
|
|
18
|
+
@send
|
|
19
|
+
external toJSON: pushSubscription => pushSubscriptionJSON = "toJSON"
|