@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.
- package/LICENSE +21 -0
- package/README.md +35 -0
- package/package.json +61 -0
- package/rescript.json +557 -0
- package/src/animation/Animation.res +149 -0
- package/src/animation/AnimationEffect.res +71 -0
- package/src/animation/DocumentTimeline.res +8 -0
- package/src/canvas/Canvas.res +179 -0
- package/src/canvas/CanvasGradient.res +11 -0
- package/src/canvas/CanvasPattern.res +11 -0
- package/src/canvas/CanvasRenderingContext2D.res +868 -0
- package/src/canvas/CanvasTypes.res +452 -0
- package/src/canvas/FillStyle.res +25 -0
- package/src/canvas/HTMLCanvasElement.res +101 -0
- package/src/canvas/ImageBitmap.res +6 -0
- package/src/canvas/ImageBitmapRenderingContext.res +9 -0
- package/src/canvas/ImageData.res +17 -0
- package/src/canvas/OffscreenCanvas.res +87 -0
- package/src/canvas/Path2D.res +186 -0
- package/src/canvas/VideoColorSpace.res +11 -0
- package/src/canvas/VideoFrame.res +217 -0
- package/src/core/ArrayBufferTypedArrayOrDataView.res +4 -0
- package/src/core/DOM.res +1026 -0
- package/src/core/EventType.res +108 -0
- package/src/crypto/Crypto.res +11 -0
- package/src/crypto/SubtleCrypto.res +173 -0
- package/src/crypto/WebCryptoTypes.res +71 -0
- package/src/css-font-loading/BaseCSSFontLoading.res +24 -0
- package/src/css-font-loading/CssFontLoadingTypes.res +92 -0
- package/src/css-font-loading/FontFace.res +62 -0
- package/src/css-font-loading/FontFaceSet.res +38 -0
- package/src/cssom/CSSRuleList.res +5 -0
- package/src/cssom/CSSStyleDeclaration.res +1734 -0
- package/src/cssom/CSSStyleValue.res +17 -0
- package/src/cssom/MediaList.res +29 -0
- package/src/cssom/MediaQueryList.res +18 -0
- package/src/cssom/StylePropertyMap.res +56 -0
- package/src/cssom/StylePropertyMapReadOnly.res +22 -0
- package/src/cssom/StyleSheet.res +152 -0
- package/src/cssom/StyleSheetList.res +17 -0
- package/src/device/GamepadHapticActuator.res +16 -0
- package/src/device/GamepadTypes.res +86 -0
- package/src/device/Geolocation.res +31 -0
- package/src/device/GeolocationCoordinates.res +5 -0
- package/src/device/GeolocationPosition.res +5 -0
- package/src/device/GeolocationTypes.res +81 -0
- package/src/device/LockManager.res +26 -0
- package/src/device/ScreenOrientation.res +7 -0
- package/src/device/ScreenWakeLockTypes.res +26 -0
- package/src/device/WakeLock.res +8 -0
- package/src/device/WakeLockSentinel.res +7 -0
- package/src/device/WebLocksTypes.res +45 -0
- package/src/device/WebMIDI.res +7 -0
- package/src/device/WebMidiTypes.res +36 -0
- package/src/dom-nodes/AbstractRange.res +30 -0
- package/src/dom-nodes/Attr.res +101 -0
- package/src/dom-nodes/CDATASection.res +7 -0
- package/src/dom-nodes/CaretPosition.res +2 -0
- package/src/dom-nodes/CharacterData.res +199 -0
- package/src/dom-nodes/Comment.res +15 -0
- package/src/dom-nodes/DOMImplementation.res +131 -0
- package/src/dom-nodes/DOMTree.res +1653 -0
- package/src/dom-nodes/DocumentFragment.res +96 -0
- package/src/dom-nodes/Element.res +509 -0
- package/src/dom-nodes/ElementInternals.res +39 -0
- package/src/dom-nodes/HTML.res +11 -0
- package/src/dom-nodes/HTMLCollection.res +25 -0
- package/src/dom-nodes/NamedNodeMap.res +46 -0
- package/src/dom-nodes/Node.res +114 -0
- package/src/dom-nodes/NodeFilter.res +4 -0
- package/src/dom-nodes/NodeIterator.res +38 -0
- package/src/dom-nodes/NodeList.res +6 -0
- package/src/dom-nodes/ProcessingInstruction.res +15 -0
- package/src/dom-nodes/Range.res +156 -0
- package/src/dom-nodes/Selection.res +137 -0
- package/src/dom-nodes/ShadowRoot.res +23 -0
- package/src/dom-nodes/StaticRange.res +6 -0
- package/src/dom-nodes/Text.res +31 -0
- package/src/dom-nodes/TreeWalker.res +65 -0
- package/src/dom-platform/DOMException.res +7 -0
- package/src/dom-platform/DOMStringList.res +15 -0
- package/src/dom-platform/DOMStringMap.res +5 -0
- package/src/dom-platform/DOMTokenList.res +70 -0
- package/src/event/AbortController.res +9 -0
- package/src/event/AbortSignal.res +25 -0
- package/src/event/Event.res +76 -0
- package/src/event/EventTarget.res +91 -0
- package/src/event/ExtendableEvent.res +14 -0
- package/src/fetch/BodyInit.res +46 -0
- package/src/fetch/Fetch.res +12 -0
- package/src/fetch/FetchTypes.res +282 -0
- package/src/fetch/FormData.res +71 -0
- package/src/fetch/FormDataEntryValue.res +2 -0
- package/src/fetch/Headers.res +59 -0
- package/src/fetch/HeadersInit.res +16 -0
- package/src/fetch/Request.res +61 -0
- package/src/fetch/Response.res +127 -0
- package/src/file/BaseFileAndDirectoryEntries.res +72 -0
- package/src/file/Blob.res +48 -0
- package/src/file/File.res +15 -0
- package/src/file/FileAndDirectoryEntriesTypes.res +35 -0
- package/src/file/FileList.res +16 -0
- package/src/file/FileSystemDirectoryEntry.res +42 -0
- package/src/file/FileSystemDirectoryHandle.res +49 -0
- package/src/file/FileSystemDirectoryReader.res +9 -0
- package/src/file/FileSystemEntry.res +9 -0
- package/src/file/FileSystemFileHandle.res +25 -0
- package/src/file/FileSystemHandle.res +6 -0
- package/src/file/FileSystemWritableFileStream.res +65 -0
- package/src/file/FileTypes.res +225 -0
- package/src/file/ReadableStream.res +79 -0
- package/src/file/WritableStream.res +27 -0
- package/src/file/WritableStreamDefaultController.res +5 -0
- package/src/geometry/DOMMatrix.res +206 -0
- package/src/geometry/DOMMatrixReadOnly.res +140 -0
- package/src/geometry/DOMPoint.res +28 -0
- package/src/geometry/DOMPointReadOnly.res +22 -0
- package/src/geometry/DOMRect.res +22 -0
- package/src/geometry/DOMRectList.res +2 -0
- package/src/geometry/DOMRectReadOnly.res +19 -0
- package/src/html/HTMLAnchorElement.res +373 -0
- package/src/html/HTMLAreaElement.res +353 -0
- package/src/html/HTMLBRElement.res +9 -0
- package/src/html/HTMLBaseElement.res +20 -0
- package/src/html/HTMLBodyElement.res +9 -0
- package/src/html/HTMLButtonElement.res +98 -0
- package/src/html/HTMLDListElement.res +9 -0
- package/src/html/HTMLDataElement.res +14 -0
- package/src/html/HTMLDataListElement.res +14 -0
- package/src/html/HTMLDialogElement.res +40 -0
- package/src/html/HTMLDivElement.res +9 -0
- package/src/html/HTMLElement.res +108 -0
- package/src/html/HTMLEmbedElement.res +275 -0
- package/src/html/HTMLFieldSetElement.res +70 -0
- package/src/html/HTMLFormControlsCollection.res +21 -0
- package/src/html/HTMLFormElement.res +39 -0
- package/src/html/HTMLFrameSetElement.res +9 -0
- package/src/html/HTMLHRElement.res +9 -0
- package/src/html/HTMLHeadElement.res +256 -0
- package/src/html/HTMLHeadingElement.res +9 -0
- package/src/html/HTMLHtmlElement.res +9 -0
- package/src/html/HTMLIFrameElement.res +69 -0
- package/src/html/HTMLImageElement.res +349 -0
- package/src/html/HTMLInputElement.res +310 -0
- package/src/html/HTMLLIElement.res +9 -0
- package/src/html/HTMLLabelElement.res +25 -0
- package/src/html/HTMLLegendElement.res +14 -0
- package/src/html/HTMLLinkElement.res +69 -0
- package/src/html/HTMLMapElement.res +20 -0
- package/src/html/HTMLMenuElement.res +8 -0
- package/src/html/HTMLMetaElement.res +29 -0
- package/src/html/HTMLMeterElement.res +38 -0
- package/src/html/HTMLModElement.res +9 -0
- package/src/html/HTMLOListElement.res +24 -0
- package/src/html/HTMLObjectElement.res +89 -0
- package/src/html/HTMLOptGroupElement.res +19 -0
- package/src/html/HTMLOptionElement.res +49 -0
- package/src/html/HTMLOptionsCollection.res +35 -0
- package/src/html/HTMLOutputElement.res +73 -0
- package/src/html/HTMLParagraphElement.res +9 -0
- package/src/html/HTMLPictureElement.res +9 -0
- package/src/html/HTMLPreElement.res +9 -0
- package/src/html/HTMLProgressElement.res +29 -0
- package/src/html/HTMLQuoteElement.res +9 -0
- package/src/html/HTMLScriptElement.res +310 -0
- package/src/html/HTMLSelectElement.res +157 -0
- package/src/html/HTMLSlotElement.res +34 -0
- package/src/html/HTMLSourceElement.res +18 -0
- package/src/html/HTMLSpanElement.res +9 -0
- package/src/html/HTMLStyleElement.res +24 -0
- package/src/html/HTMLTableCaptionElement.res +9 -0
- package/src/html/HTMLTableCellElement.res +40 -0
- package/src/html/HTMLTableElement.res +100 -0
- package/src/html/HTMLTableRowElement.res +40 -0
- package/src/html/HTMLTableSectionElement.res +30 -0
- package/src/html/HTMLTemplateElement.res +31 -0
- package/src/html/HTMLTextAreaElement.res +177 -0
- package/src/html/HTMLTimeElement.res +14 -0
- package/src/html/HTMLTitleElement.res +15 -0
- package/src/html/HTMLUListElement.res +9 -0
- package/src/html/HTMLUnknownElement.res +9 -0
- package/src/media/BaseEncryptedMediaExtensions.res +97 -0
- package/src/media/DomHTMLMediaElement.res +206 -0
- package/src/media/EncryptedMediaExtensionsHTMLMediaElement.res +15 -0
- package/src/media/EncryptedMediaExtensionsTypes.res +43 -0
- package/src/media/HTMLAudioElement.res +9 -0
- package/src/media/HTMLTrackElement.res +14 -0
- package/src/media/HTMLVideoElement.res +78 -0
- package/src/media/MediaCapabilities.res +19 -0
- package/src/media/MediaCapabilitiesTypes.res +83 -0
- package/src/media/MediaCaptureAndStreamsTypes.res +197 -0
- package/src/media/MediaDeviceInfo.res +9 -0
- package/src/media/MediaDevices.res +40 -0
- package/src/media/MediaError.res +14 -0
- package/src/media/MediaKeySession.res +53 -0
- package/src/media/MediaKeyStatusMap.res +11 -0
- package/src/media/MediaKeySystemAccess.res +14 -0
- package/src/media/MediaKeys.res +35 -0
- package/src/media/MediaMetadata.res +10 -0
- package/src/media/MediaSession.res +25 -0
- package/src/media/MediaSessionTypes.res +85 -0
- package/src/media/MediaStream.res +89 -0
- package/src/media/MediaStreamTrack.res +51 -0
- package/src/media/PictureInPicture.res +7 -0
- package/src/media/PictureInPictureTypes.res +17 -0
- package/src/media/RemotePlayback.res +25 -0
- package/src/media/RemotePlaybackTypes.res +20 -0
- package/src/media/SpeechSynthesis.res +33 -0
- package/src/media/SpeechSynthesisUtterance.res +8 -0
- package/src/media/TextTrack.res +15 -0
- package/src/media/TextTrackCueList.res +9 -0
- package/src/media/TextTrackList.res +17 -0
- package/src/media/TimeRanges.res +29 -0
- package/src/media/VideoPlaybackQuality.res +18 -0
- package/src/media/WebSpeechTypes.res +83 -0
- package/src/media/WebVttTypes.res +123 -0
- package/src/messaging/ApplicationServerKey.res +2 -0
- package/src/messaging/ChannelMessagingTypes.res +12 -0
- package/src/messaging/CloseEvent.res +10 -0
- package/src/messaging/MessageEvent.res +43 -0
- package/src/messaging/MessagePort.res +38 -0
- package/src/messaging/Notification.res +46 -0
- package/src/messaging/NotificationTypes.res +107 -0
- package/src/messaging/PushEvent.res +3 -0
- package/src/messaging/PushManager.res +24 -0
- package/src/messaging/PushMessageData.res +15 -0
- package/src/messaging/PushSubscription.res +20 -0
- package/src/messaging/PushTypes.res +88 -0
- package/src/messaging/WebSocket.res +74 -0
- package/src/messaging/WebSocketsTypes.res +124 -0
- package/src/navigator/Clipboard.res +29 -0
- package/src/navigator/ClipboardItem.res +20 -0
- package/src/navigator/ClipboardTypes.res +31 -0
- package/src/navigator/CredentialManagementTypes.res +138 -0
- package/src/navigator/CredentialsContainer.res +33 -0
- package/src/navigator/Navigator.res +166 -0
- package/src/navigator/Permissions.res +10 -0
- package/src/navigator/PermissionsTypes.res +38 -0
- package/src/observers/IntersectionObserver.res +36 -0
- package/src/observers/IntersectionObserverRoot.res +23 -0
- package/src/observers/IntersectionObserverTypes.res +67 -0
- package/src/observers/MutationObserver.res +94 -0
- package/src/observers/ResizeObserver.res +30 -0
- package/src/observers/ResizeObserverTypes.res +56 -0
- package/src/performance/Performance.res +101 -0
- package/src/performance/PerformanceEntry.res +5 -0
- package/src/performance/PerformanceMark.res +16 -0
- package/src/performance/PerformanceTypes.res +86 -0
- package/src/storage/Cache.res +117 -0
- package/src/storage/CacheStorage.res +43 -0
- package/src/storage/CacheTypes.res +24 -0
- package/src/storage/IDBDatabase.res +54 -0
- package/src/storage/IDBFactory.res +34 -0
- package/src/storage/IDBIndex.res +83 -0
- package/src/storage/IDBObjectStore.res +183 -0
- package/src/storage/IDBTransaction.res +22 -0
- package/src/storage/IndexedDbTypes.res +213 -0
- package/src/storage/Storage.res +42 -0
- package/src/storage/StorageEvent.res +10 -0
- package/src/storage/StorageManager.res +24 -0
- package/src/storage/StorageTypes.res +11 -0
- package/src/storage/WebStorageTypes.res +57 -0
- package/src/svg/SVGElement.res +115 -0
- package/src/svg/SVGGraphicsElement.res +16 -0
- package/src/svg/SVGLength.res +9 -0
- package/src/ui-events/CompositionEvent.res +10 -0
- package/src/ui-events/DataTransfer.res +38 -0
- package/src/ui-events/DataTransferItem.res +21 -0
- package/src/ui-events/DataTransferItemList.res +34 -0
- package/src/ui-events/FocusEvent.res +10 -0
- package/src/ui-events/InputEvent.res +16 -0
- package/src/ui-events/KeyboardEvent.res +16 -0
- package/src/ui-events/MouseEvent.res +26 -0
- package/src/ui-events/PointerEvent.res +24 -0
- package/src/ui-events/Touch.res +5 -0
- package/src/ui-events/TouchEvent.res +10 -0
- package/src/ui-events/TouchList.res +5 -0
- package/src/ui-events/UIEvent.res +20 -0
- package/src/ui-events/UiEventsTypes.res +590 -0
- package/src/ui-events/WheelEvent.res +10 -0
- package/src/url/URL.res +38 -0
- package/src/url/URLSearchParams.res +104 -0
- package/src/url/UrlTypes.res +69 -0
- package/src/view-transitions/ViewTransition.res +5 -0
- package/src/view-transitions/ViewTransitionsTypes.res +22 -0
- package/src/web-audio/AnalyserNode.res +38 -0
- package/src/web-audio/AudioBuffer.res +33 -0
- package/src/web-audio/AudioBufferSourceNode.res +21 -0
- package/src/web-audio/AudioContext.res +59 -0
- package/src/web-audio/AudioDestinationNode.res +1 -0
- package/src/web-audio/AudioNode.res +76 -0
- package/src/web-audio/AudioParam.res +65 -0
- package/src/web-audio/AudioProcessingEvent.res +10 -0
- package/src/web-audio/AudioScheduledSourceNode.res +23 -0
- package/src/web-audio/AudioWorkletNode.res +11 -0
- package/src/web-audio/BaseAudioContext.res +141 -0
- package/src/web-audio/BiquadFilterNode.res +21 -0
- package/src/web-audio/ChannelMergerNode.res +10 -0
- package/src/web-audio/ChannelSplitterNode.res +10 -0
- package/src/web-audio/ConstantSourceNode.res +10 -0
- package/src/web-audio/ConvolverNode.res +10 -0
- package/src/web-audio/DelayNode.res +10 -0
- package/src/web-audio/DynamicsCompressorNode.res +10 -0
- package/src/web-audio/GainNode.res +10 -0
- package/src/web-audio/IIRFilterNode.res +21 -0
- package/src/web-audio/MediaElementAudioSourceNode.res +10 -0
- package/src/web-audio/MediaStreamAudioDestinationNode.res +10 -0
- package/src/web-audio/MediaStreamAudioSourceNode.res +10 -0
- package/src/web-audio/OfflineAudioCompletionEvent.res +10 -0
- package/src/web-audio/OfflineAudioContext.res +58 -0
- package/src/web-audio/OscillatorNode.res +17 -0
- package/src/web-audio/PannerNode.res +10 -0
- package/src/web-audio/PeriodicWave.res +8 -0
- package/src/web-audio/StereoPannerNode.res +10 -0
- package/src/web-audio/WaveShaperNode.res +10 -0
- package/src/web-audio/WebAudioTypes.res +1309 -0
- package/src/web-audio/Worklet.res +14 -0
- package/src/window/CustomElementRegistry.res +30 -0
- package/src/window/Document.res +470 -0
- package/src/window/DomGlobal.res +459 -0
- package/src/window/History.res +37 -0
- package/src/window/HistoryTypes.res +26 -0
- package/src/window/IdleDeadline.res +5 -0
- package/src/window/Location.res +108 -0
- package/src/window/VisualViewport.res +5 -0
- package/src/window/VisualViewportTypes.res +37 -0
- package/src/window/Window.res +556 -0
- package/src/window/XPathExpression.res +16 -0
- package/src/window/XPathResult.res +46 -0
- package/src/workers/Clients.res +39 -0
- package/src/workers/NavigationPreloadManager.res +26 -0
- package/src/workers/ServiceWorker.res +38 -0
- package/src/workers/ServiceWorkerContainer.res +34 -0
- package/src/workers/ServiceWorkerRegistration.res +32 -0
- package/src/workers/ServiceWorkerScope.res +12 -0
- package/src/workers/ServiceWorkerTypes.res +153 -0
- package/src/workers/SharedWorker.res +68 -0
- package/src/workers/SharedWorkerScope.res +29 -0
- package/src/workers/WebWorkersTypes.res +46 -0
- package/src/workers/Worker.res +48 -0
- package/src/workers/WorkerLocation.res +18 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
type t = MediaCaptureAndStreamsTypes.mediaDevices = private {
|
|
2
|
+
...MediaCaptureAndStreamsTypes.mediaDevices,
|
|
3
|
+
}
|
|
4
|
+
type mediaTrackSupportedConstraints = MediaCaptureAndStreamsTypes.mediaTrackSupportedConstraints = {
|
|
5
|
+
...MediaCaptureAndStreamsTypes.mediaTrackSupportedConstraints,
|
|
6
|
+
}
|
|
7
|
+
type mediaStreamConstraints = MediaCaptureAndStreamsTypes.mediaStreamConstraints = {
|
|
8
|
+
...MediaCaptureAndStreamsTypes.mediaStreamConstraints,
|
|
9
|
+
}
|
|
10
|
+
type displayMediaStreamOptions = MediaCaptureAndStreamsTypes.displayMediaStreamOptions = {
|
|
11
|
+
...MediaCaptureAndStreamsTypes.displayMediaStreamOptions,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
include EventTarget.Impl({type t = t})
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaDevices/enumerateDevices)
|
|
18
|
+
*/
|
|
19
|
+
@send
|
|
20
|
+
external enumerateDevices: t => promise<array<MediaDeviceInfo.t>> = "enumerateDevices"
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaDevices/getSupportedConstraints)
|
|
24
|
+
*/
|
|
25
|
+
@send
|
|
26
|
+
external getSupportedConstraints: t => mediaTrackSupportedConstraints = "getSupportedConstraints"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaDevices/getUserMedia)
|
|
30
|
+
*/
|
|
31
|
+
@send
|
|
32
|
+
external getUserMedia: (t, ~constraints: mediaStreamConstraints=?) => promise<MediaStream.t> =
|
|
33
|
+
"getUserMedia"
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaDevices/getDisplayMedia)
|
|
37
|
+
*/
|
|
38
|
+
@send
|
|
39
|
+
external getDisplayMedia: (t, ~options: displayMediaStreamOptions=?) => promise<MediaStream.t> =
|
|
40
|
+
"getDisplayMedia"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
An error which occurred while handling media in an HTML media element based on HTMLMediaElement, such as <audio> or <video>.
|
|
3
|
+
[See MediaError on MDN](https://developer.mozilla.org/docs/Web/API/MediaError)
|
|
4
|
+
*/
|
|
5
|
+
type t = private {
|
|
6
|
+
/**
|
|
7
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaError/code)
|
|
8
|
+
*/
|
|
9
|
+
code: int,
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaError/message)
|
|
12
|
+
*/
|
|
13
|
+
message: string,
|
|
14
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
include EventTarget.Impl({type t = EncryptedMediaExtensionsTypes.mediaKeySession})
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/generateRequest)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external generateRequest: (
|
|
8
|
+
EncryptedMediaExtensionsTypes.mediaKeySession,
|
|
9
|
+
~initDataType: string,
|
|
10
|
+
~initData: DataView.t,
|
|
11
|
+
) => promise<unit> = "generateRequest"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/generateRequest)
|
|
15
|
+
*/
|
|
16
|
+
@send
|
|
17
|
+
external generateRequest2: (
|
|
18
|
+
EncryptedMediaExtensionsTypes.mediaKeySession,
|
|
19
|
+
~initDataType: string,
|
|
20
|
+
~initData: ArrayBuffer.t,
|
|
21
|
+
) => promise<unit> = "generateRequest"
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/load)
|
|
25
|
+
*/
|
|
26
|
+
@send
|
|
27
|
+
external load: (EncryptedMediaExtensionsTypes.mediaKeySession, string) => promise<bool> = "load"
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/update)
|
|
31
|
+
*/
|
|
32
|
+
@send
|
|
33
|
+
external update: (EncryptedMediaExtensionsTypes.mediaKeySession, DataView.t) => promise<unit> =
|
|
34
|
+
"update"
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/update)
|
|
38
|
+
*/
|
|
39
|
+
@send
|
|
40
|
+
external update2: (EncryptedMediaExtensionsTypes.mediaKeySession, ArrayBuffer.t) => promise<unit> =
|
|
41
|
+
"update"
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/close)
|
|
45
|
+
*/
|
|
46
|
+
@send
|
|
47
|
+
external close: EncryptedMediaExtensionsTypes.mediaKeySession => promise<unit> = "close"
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySession/remove)
|
|
51
|
+
*/
|
|
52
|
+
@send
|
|
53
|
+
external remove: EncryptedMediaExtensionsTypes.mediaKeySession => promise<unit> = "remove"
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/has)
|
|
3
|
+
*/
|
|
4
|
+
@send
|
|
5
|
+
external has: (EncryptedMediaExtensionsTypes.mediaKeyStatusMap, DataView.t) => bool = "has"
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeyStatusMap/has)
|
|
9
|
+
*/
|
|
10
|
+
@send
|
|
11
|
+
external has2: (EncryptedMediaExtensionsTypes.mediaKeyStatusMap, ArrayBuffer.t) => bool = "has"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/getConfiguration)
|
|
3
|
+
*/
|
|
4
|
+
@send
|
|
5
|
+
external getConfiguration: EncryptedMediaExtensionsTypes.mediaKeySystemAccess => EncryptedMediaExtensionsTypes.mediaKeySystemConfiguration =
|
|
6
|
+
"getConfiguration"
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeySystemAccess/createMediaKeys)
|
|
10
|
+
*/
|
|
11
|
+
@send
|
|
12
|
+
external createMediaKeys: EncryptedMediaExtensionsTypes.mediaKeySystemAccess => promise<
|
|
13
|
+
EncryptedMediaExtensionsTypes.mediaKeys,
|
|
14
|
+
> = "createMediaKeys"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/createSession)
|
|
3
|
+
*/
|
|
4
|
+
@send
|
|
5
|
+
external createSession: (
|
|
6
|
+
EncryptedMediaExtensionsTypes.mediaKeys,
|
|
7
|
+
~sessionType: EncryptedMediaExtensionsTypes.mediaKeySessionType=?,
|
|
8
|
+
) => EncryptedMediaExtensionsTypes.mediaKeySession = "createSession"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/getStatusForPolicy)
|
|
12
|
+
*/
|
|
13
|
+
@send
|
|
14
|
+
external getStatusForPolicy: (
|
|
15
|
+
EncryptedMediaExtensionsTypes.mediaKeys,
|
|
16
|
+
~policy: EncryptedMediaExtensionsTypes.mediaKeysPolicy=?,
|
|
17
|
+
) => promise<EncryptedMediaExtensionsTypes.mediaKeyStatus> = "getStatusForPolicy"
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate)
|
|
21
|
+
*/
|
|
22
|
+
@send
|
|
23
|
+
external setServerCertificate: (
|
|
24
|
+
EncryptedMediaExtensionsTypes.mediaKeys,
|
|
25
|
+
DataView.t,
|
|
26
|
+
) => promise<bool> = "setServerCertificate"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate)
|
|
30
|
+
*/
|
|
31
|
+
@send
|
|
32
|
+
external setServerCertificate2: (
|
|
33
|
+
EncryptedMediaExtensionsTypes.mediaKeys,
|
|
34
|
+
ArrayBuffer.t,
|
|
35
|
+
) => promise<bool> = "setServerCertificate"
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type t = MediaSessionTypes.mediaMetadata = private {...MediaSessionTypes.mediaMetadata}
|
|
2
|
+
type mediaMetadataInit = MediaSessionTypes.mediaMetadataInit = {
|
|
3
|
+
...MediaSessionTypes.mediaMetadataInit,
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata)
|
|
8
|
+
*/
|
|
9
|
+
@new
|
|
10
|
+
external make: (~init: mediaMetadataInit=?) => t = "MediaMetadata"
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type t = MediaSessionTypes.mediaSession = private {...MediaSessionTypes.mediaSession}
|
|
2
|
+
type mediaSessionAction = MediaSessionTypes.mediaSessionAction
|
|
3
|
+
type mediaPositionState = MediaSessionTypes.mediaPositionState = {
|
|
4
|
+
...MediaSessionTypes.mediaPositionState,
|
|
5
|
+
}
|
|
6
|
+
type mediaSessionActionHandler = MediaSessionTypes.mediaSessionActionHandler
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/setActionHandler)
|
|
10
|
+
*/
|
|
11
|
+
@send
|
|
12
|
+
external setActionHandler: (
|
|
13
|
+
t,
|
|
14
|
+
~action: mediaSessionAction,
|
|
15
|
+
~handler: mediaSessionActionHandler,
|
|
16
|
+
) => unit = "setActionHandler"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/setPositionState)
|
|
20
|
+
*/
|
|
21
|
+
@throws(JsExn) @send
|
|
22
|
+
external setPositionState: (t, ~state: mediaPositionState=?) => unit = "setPositionState"
|
|
23
|
+
|
|
24
|
+
module MediaMetadata = MediaMetadata
|
|
25
|
+
module Types = MediaSessionTypes
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
type mediaSessionPlaybackState =
|
|
4
|
+
| @as("none") None
|
|
5
|
+
| @as("paused") Paused
|
|
6
|
+
| @as("playing") Playing
|
|
7
|
+
|
|
8
|
+
type mediaSessionAction =
|
|
9
|
+
| @as("nexttrack") Nexttrack
|
|
10
|
+
| @as("pause") Pause
|
|
11
|
+
| @as("play") Play
|
|
12
|
+
| @as("previoustrack") Previoustrack
|
|
13
|
+
| @as("seekbackward") Seekbackward
|
|
14
|
+
| @as("seekforward") Seekforward
|
|
15
|
+
| @as("seekto") Seekto
|
|
16
|
+
| @as("skipad") Skipad
|
|
17
|
+
| @as("stop") Stop
|
|
18
|
+
|
|
19
|
+
type mediaImage = {
|
|
20
|
+
mutable src: string,
|
|
21
|
+
mutable sizes?: string,
|
|
22
|
+
@as("type") mutable type_?: string,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
[See MediaMetadata on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata)
|
|
27
|
+
TODO: mark as private once mutating fields of private records is allowed
|
|
28
|
+
*/
|
|
29
|
+
@editor.completeFrom(MediaMetadata)
|
|
30
|
+
type mediaMetadata = {
|
|
31
|
+
/**
|
|
32
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata/title)
|
|
33
|
+
*/
|
|
34
|
+
mutable title: string,
|
|
35
|
+
/**
|
|
36
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata/artist)
|
|
37
|
+
*/
|
|
38
|
+
mutable artist: string,
|
|
39
|
+
/**
|
|
40
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata/album)
|
|
41
|
+
*/
|
|
42
|
+
mutable album: string,
|
|
43
|
+
/**
|
|
44
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaMetadata/artwork)
|
|
45
|
+
*/
|
|
46
|
+
mutable artwork: array<mediaImage>,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
[See WebApiMediaSession on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession)
|
|
51
|
+
TODO: mark as private once mutating fields of private records is allowed
|
|
52
|
+
*/
|
|
53
|
+
@editor.completeFrom(MediaSession)
|
|
54
|
+
type mediaSession = {
|
|
55
|
+
/**
|
|
56
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/metadata)
|
|
57
|
+
*/
|
|
58
|
+
mutable metadata: Null.t<mediaMetadata>,
|
|
59
|
+
/**
|
|
60
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaSession/playbackState)
|
|
61
|
+
*/
|
|
62
|
+
mutable playbackState: mediaSessionPlaybackState,
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
type mediaMetadataInit = {
|
|
66
|
+
mutable title?: string,
|
|
67
|
+
mutable artist?: string,
|
|
68
|
+
mutable album?: string,
|
|
69
|
+
mutable artwork?: array<mediaImage>,
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
type mediaSessionActionDetails = {
|
|
73
|
+
mutable action: mediaSessionAction,
|
|
74
|
+
mutable seekOffset?: float,
|
|
75
|
+
mutable seekTime?: float,
|
|
76
|
+
mutable fastSeek?: bool,
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
type mediaPositionState = {
|
|
80
|
+
mutable duration?: float,
|
|
81
|
+
mutable playbackRate?: float,
|
|
82
|
+
mutable position?: float,
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type mediaSessionActionHandler = mediaSessionActionDetails => unit
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
type t = MediaCaptureAndStreamsTypes.mediaStream = private {
|
|
2
|
+
...MediaCaptureAndStreamsTypes.mediaStream,
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
`make()`
|
|
7
|
+
|
|
8
|
+
Creates a new empty `MediaStream`.
|
|
9
|
+
|
|
10
|
+
```res
|
|
11
|
+
let stream = MediaStream.make()
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream)
|
|
15
|
+
*/
|
|
16
|
+
@new
|
|
17
|
+
external make: unit => t = "MediaStream"
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
`fromMediaStream(mediaStream)`
|
|
21
|
+
|
|
22
|
+
Creates a new `MediaStream` by copying another `MediaStream`.
|
|
23
|
+
|
|
24
|
+
```res
|
|
25
|
+
let copiedStream = MediaStream.fromMediaStream(existingStream)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream)
|
|
29
|
+
*/
|
|
30
|
+
@new
|
|
31
|
+
external fromMediaStream: t => t = "MediaStream"
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
`fromTracks(array<MediaStreamTrack.t>)`
|
|
35
|
+
|
|
36
|
+
Creates a new `MediaStream` from an array of `MediaStreamTrack.t` values.
|
|
37
|
+
|
|
38
|
+
```res
|
|
39
|
+
let stream = MediaStream.fromTracks([audioTrack, videoTrack])
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream)
|
|
43
|
+
*/
|
|
44
|
+
@new
|
|
45
|
+
external fromTracks: array<MediaStreamTrack.t> => t = "MediaStream"
|
|
46
|
+
|
|
47
|
+
include EventTarget.Impl({type t = t})
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/getAudioTracks)
|
|
51
|
+
*/
|
|
52
|
+
@send
|
|
53
|
+
external getAudioTracks: t => array<MediaStreamTrack.t> = "getAudioTracks"
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/getVideoTracks)
|
|
57
|
+
*/
|
|
58
|
+
@send
|
|
59
|
+
external getVideoTracks: t => array<MediaStreamTrack.t> = "getVideoTracks"
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/getTracks)
|
|
63
|
+
*/
|
|
64
|
+
@send
|
|
65
|
+
external getTracks: t => array<MediaStreamTrack.t> = "getTracks"
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/getTrackById)
|
|
69
|
+
*/
|
|
70
|
+
@send
|
|
71
|
+
external getTrackById: (t, string) => Null.t<MediaStreamTrack.t> = "getTrackById"
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/addTrack)
|
|
75
|
+
*/
|
|
76
|
+
@send
|
|
77
|
+
external addTrack: (t, MediaStreamTrack.t) => unit = "addTrack"
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/removeTrack)
|
|
81
|
+
*/
|
|
82
|
+
@send
|
|
83
|
+
external removeTrack: (t, MediaStreamTrack.t) => unit = "removeTrack"
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStream/clone)
|
|
87
|
+
*/
|
|
88
|
+
@send
|
|
89
|
+
external clone: t => t = "clone"
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
type t = MediaCaptureAndStreamsTypes.mediaStreamTrack = private {
|
|
2
|
+
...MediaCaptureAndStreamsTypes.mediaStreamTrack,
|
|
3
|
+
}
|
|
4
|
+
type mediaTrackCapabilities = MediaCaptureAndStreamsTypes.mediaTrackCapabilities = {
|
|
5
|
+
...MediaCaptureAndStreamsTypes.mediaTrackCapabilities,
|
|
6
|
+
}
|
|
7
|
+
type mediaTrackConstraints = MediaCaptureAndStreamsTypes.mediaTrackConstraints = {
|
|
8
|
+
...MediaCaptureAndStreamsTypes.mediaTrackConstraints,
|
|
9
|
+
}
|
|
10
|
+
type mediaTrackSettings = MediaCaptureAndStreamsTypes.mediaTrackSettings = {
|
|
11
|
+
...MediaCaptureAndStreamsTypes.mediaTrackSettings,
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
include EventTarget.Impl({type t = t})
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/clone)
|
|
18
|
+
*/
|
|
19
|
+
@send
|
|
20
|
+
external clone: t => t = "clone"
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/stop)
|
|
24
|
+
*/
|
|
25
|
+
@send
|
|
26
|
+
external stop: t => unit = "stop"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getCapabilities)
|
|
30
|
+
*/
|
|
31
|
+
@send
|
|
32
|
+
external getCapabilities: t => mediaTrackCapabilities = "getCapabilities"
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getConstraints)
|
|
36
|
+
*/
|
|
37
|
+
@send
|
|
38
|
+
external getConstraints: t => mediaTrackConstraints = "getConstraints"
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/getSettings)
|
|
42
|
+
*/
|
|
43
|
+
@send
|
|
44
|
+
external getSettings: t => mediaTrackSettings = "getSettings"
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaStreamTrack/applyConstraints)
|
|
48
|
+
*/
|
|
49
|
+
@send
|
|
50
|
+
external applyConstraints: (t, ~constraints: mediaTrackConstraints=?) => promise<unit> =
|
|
51
|
+
"applyConstraints"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[See PictureInPictureWindow on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow)
|
|
5
|
+
*/
|
|
6
|
+
@editor.completeFrom(PictureInPicture)
|
|
7
|
+
type pictureInPictureWindow = {
|
|
8
|
+
...DOM.eventTarget,
|
|
9
|
+
/**
|
|
10
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/width)
|
|
11
|
+
*/
|
|
12
|
+
width: int,
|
|
13
|
+
/**
|
|
14
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/PictureInPictureWindow/height)
|
|
15
|
+
*/
|
|
16
|
+
height: int,
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type t = RemotePlaybackTypes.remotePlayback = private {...RemotePlaybackTypes.remotePlayback}
|
|
2
|
+
type remotePlaybackAvailabilityCallback = RemotePlaybackTypes.remotePlaybackAvailabilityCallback
|
|
3
|
+
|
|
4
|
+
include EventTarget.Impl({type t = t})
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/watchAvailability)
|
|
8
|
+
*/
|
|
9
|
+
@send
|
|
10
|
+
external watchAvailability: (t, remotePlaybackAvailabilityCallback) => promise<int> =
|
|
11
|
+
"watchAvailability"
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/cancelWatchAvailability)
|
|
15
|
+
*/
|
|
16
|
+
@send
|
|
17
|
+
external cancelWatchAvailability: (t, ~id: int=?) => promise<unit> = "cancelWatchAvailability"
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/prompt)
|
|
21
|
+
*/
|
|
22
|
+
@send
|
|
23
|
+
external prompt: t => promise<unit> = "prompt"
|
|
24
|
+
|
|
25
|
+
module Types = RemotePlaybackTypes
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
type remotePlaybackState =
|
|
4
|
+
| @as("connected") Connected
|
|
5
|
+
| @as("connecting") Connecting
|
|
6
|
+
| @as("disconnected") Disconnected
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
[See WebApiRemotePlayback on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback)
|
|
10
|
+
*/
|
|
11
|
+
@editor.completeFrom(RemotePlayback)
|
|
12
|
+
type remotePlayback = private {
|
|
13
|
+
...DOM.eventTarget,
|
|
14
|
+
/**
|
|
15
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/RemotePlayback/state)
|
|
16
|
+
*/
|
|
17
|
+
state: remotePlaybackState,
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
type remotePlaybackAvailabilityCallback = bool => unit
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
include EventTarget.Impl({type t = WebSpeechTypes.speechSynthesis})
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/speak)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external speak: (WebSpeechTypes.speechSynthesis, WebSpeechTypes.speechSynthesisUtterance) => unit =
|
|
8
|
+
"speak"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/cancel)
|
|
12
|
+
*/
|
|
13
|
+
@send
|
|
14
|
+
external cancel: WebSpeechTypes.speechSynthesis => unit = "cancel"
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/pause)
|
|
18
|
+
*/
|
|
19
|
+
@send
|
|
20
|
+
external pause: WebSpeechTypes.speechSynthesis => unit = "pause"
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/resume)
|
|
24
|
+
*/
|
|
25
|
+
@send
|
|
26
|
+
external resume: WebSpeechTypes.speechSynthesis => unit = "resume"
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesis/getVoices)
|
|
30
|
+
*/
|
|
31
|
+
@send
|
|
32
|
+
external getVoices: WebSpeechTypes.speechSynthesis => array<WebSpeechTypes.speechSynthesisVoice> =
|
|
33
|
+
"getVoices"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
include EventTarget.Impl({type t = WebSpeechTypes.speechSynthesisUtterance})
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/SpeechSynthesisUtterance)
|
|
5
|
+
*/
|
|
6
|
+
@new
|
|
7
|
+
external make: (~text: string=?) => WebSpeechTypes.speechSynthesisUtterance =
|
|
8
|
+
"SpeechSynthesisUtterance"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include EventTarget.Impl({type t = WebVttTypes.textTrack})
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
Adds the given cue to textTrack's text track list of cues.
|
|
5
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TextTrack/addCue)
|
|
6
|
+
*/
|
|
7
|
+
@throws(JsExn) @send
|
|
8
|
+
external addCue: (WebVttTypes.textTrack, WebVttTypes.textTrackCue) => unit = "addCue"
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
Removes the given cue from textTrack's text track list of cues.
|
|
12
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TextTrack/removeCue)
|
|
13
|
+
*/
|
|
14
|
+
@throws(JsExn) @send
|
|
15
|
+
external removeCue: (WebVttTypes.textTrack, WebVttTypes.textTrackCue) => unit = "removeCue"
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Returns the first text track cue (in text track cue order) with text track cue identifier id.
|
|
3
|
+
|
|
4
|
+
Returns null if none of the cues have the given identifier or if the argument is the empty string.
|
|
5
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TextTrackCueList/getCueById)
|
|
6
|
+
*/
|
|
7
|
+
@send
|
|
8
|
+
external getCueById: (WebVttTypes.textTrackCueList, string) => Null.t<WebVttTypes.textTrackCue> =
|
|
9
|
+
"getCueById"
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
[See TextTrackList on MDN](https://developer.mozilla.org/docs/Web/API/TextTrackList)
|
|
3
|
+
*/
|
|
4
|
+
type t = private {
|
|
5
|
+
/**
|
|
6
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TextTrackList/length)
|
|
7
|
+
*/
|
|
8
|
+
length: int,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
include EventTarget.Impl({type t = t})
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById)
|
|
15
|
+
*/
|
|
16
|
+
@send
|
|
17
|
+
external getTrackById: (t, string) => Null.t<WebVttTypes.textTrack> = "getTrackById"
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Used to represent a set of time ranges, primarily for the purpose of tracking which portions of media have been buffered when loading it for use by the <audio> and <video> elements.
|
|
3
|
+
[See TimeRanges on MDN](https://developer.mozilla.org/docs/Web/API/TimeRanges)
|
|
4
|
+
*/
|
|
5
|
+
type t = private {
|
|
6
|
+
/**
|
|
7
|
+
Returns the number of ranges in the object.
|
|
8
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TimeRanges/length)
|
|
9
|
+
*/
|
|
10
|
+
length: int,
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
Returns the time for the start of the range with the given index.
|
|
15
|
+
|
|
16
|
+
Throws an "IndexSizeError" DOMException if the index is out of range.
|
|
17
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TimeRanges/start)
|
|
18
|
+
*/
|
|
19
|
+
@throws(JsExn) @send
|
|
20
|
+
external start: (t, int) => float = "start"
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
Returns the time for the end of the range with the given index.
|
|
24
|
+
|
|
25
|
+
Throws an "IndexSizeError" DOMException if the index is out of range.
|
|
26
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/TimeRanges/end)
|
|
27
|
+
*/
|
|
28
|
+
@throws(JsExn) @send
|
|
29
|
+
external end: (t, int) => float = "end"
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
Returned by the HTMLVideoElement.getVideoPlaybackQuality() method and contains metrics that can be used to determine the playback quality of a video.
|
|
3
|
+
[See VideoPlaybackQuality on MDN](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality)
|
|
4
|
+
*/
|
|
5
|
+
type t = {
|
|
6
|
+
/**
|
|
7
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/creationTime)
|
|
8
|
+
*/
|
|
9
|
+
creationTime: float,
|
|
10
|
+
/**
|
|
11
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/droppedVideoFrames)
|
|
12
|
+
*/
|
|
13
|
+
droppedVideoFrames: int,
|
|
14
|
+
/**
|
|
15
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/VideoPlaybackQuality/totalVideoFrames)
|
|
16
|
+
*/
|
|
17
|
+
totalVideoFrames: int,
|
|
18
|
+
}
|