@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,167 @@
|
|
|
1
|
+
open IndexedDBAPI
|
|
2
|
+
open Prelude
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
Adds or updates a record in store with the given value and key.
|
|
6
|
+
|
|
7
|
+
If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
|
|
8
|
+
|
|
9
|
+
If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
|
|
10
|
+
|
|
11
|
+
If successful, request's result will be the record's key.
|
|
12
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/put)
|
|
13
|
+
*/
|
|
14
|
+
@send
|
|
15
|
+
external put: (idbObjectStore, ~value: JSON.t, ~key: idbValidKey=?) => idbRequest<idbValidKey> =
|
|
16
|
+
"put"
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
Adds or updates a record in store with the given value and key.
|
|
20
|
+
|
|
21
|
+
If the store uses in-line keys and key is specified a "DataError" DOMException will be thrown.
|
|
22
|
+
|
|
23
|
+
If put() is used, any existing record with the key will be replaced. If add() is used, and if a record with the key already exists the request will fail, with request's error set to a "ConstraintError" DOMException.
|
|
24
|
+
|
|
25
|
+
If successful, request's result will be the record's key.
|
|
26
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/add)
|
|
27
|
+
*/
|
|
28
|
+
@send
|
|
29
|
+
external add: (idbObjectStore, ~value: JSON.t, ~key: idbValidKey=?) => idbRequest<idbValidKey> =
|
|
30
|
+
"add"
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
Deletes records in store with the given key or in the given key range in query.
|
|
34
|
+
|
|
35
|
+
If successful, request's result will be undefined.
|
|
36
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/delete)
|
|
37
|
+
*/
|
|
38
|
+
@send
|
|
39
|
+
external delete: (idbObjectStore, any) => idbRequest<unit> = "delete"
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
Deletes all records in store.
|
|
43
|
+
|
|
44
|
+
If successful, request's result will be undefined.
|
|
45
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/clear)
|
|
46
|
+
*/
|
|
47
|
+
@send
|
|
48
|
+
external clear: idbObjectStore => idbRequest<unit> = "clear"
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
Retrieves the value of the first record matching the given key or key range in query.
|
|
52
|
+
|
|
53
|
+
If successful, request's result will be the value, or undefined if there was no matching record.
|
|
54
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/get)
|
|
55
|
+
*/
|
|
56
|
+
@send
|
|
57
|
+
external get: (idbObjectStore, any) => idbRequest<JSON.t> = "get"
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
Retrieves the key of the first record matching the given key or key range in query.
|
|
61
|
+
|
|
62
|
+
If successful, request's result will be the key, or undefined if there was no matching record.
|
|
63
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getKey)
|
|
64
|
+
*/
|
|
65
|
+
@send
|
|
66
|
+
external getKey: (idbObjectStore, any) => idbRequest<any> = "getKey"
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
Retrieves the values of the records matching the given key or key range in query (up to count if given).
|
|
70
|
+
|
|
71
|
+
If successful, request's result will be an Array of the values.
|
|
72
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAll)
|
|
73
|
+
*/
|
|
74
|
+
@send
|
|
75
|
+
external getAll: (idbObjectStore, ~query: any=?, ~count: int=?) => idbRequest<array<JSON.t>> =
|
|
76
|
+
"getAll"
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
Retrieves the keys of records matching the given key or key range in query (up to count if given).
|
|
80
|
+
|
|
81
|
+
If successful, request's result will be an Array of the keys.
|
|
82
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/getAllKeys)
|
|
83
|
+
*/
|
|
84
|
+
@send
|
|
85
|
+
external getAllKeys: (
|
|
86
|
+
idbObjectStore,
|
|
87
|
+
~query: any=?,
|
|
88
|
+
~count: int=?,
|
|
89
|
+
) => idbRequest<array<idbValidKey>> = "getAllKeys"
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
Retrieves the number of records matching the given key or key range in query.
|
|
93
|
+
|
|
94
|
+
If successful, request's result will be the count.
|
|
95
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/count)
|
|
96
|
+
*/
|
|
97
|
+
@send
|
|
98
|
+
external count: (idbObjectStore, ~query: any=?) => idbRequest<int> = "count"
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
Opens a cursor over the records matching query, ordered by direction. If query is null, all records in store are matched.
|
|
102
|
+
|
|
103
|
+
If successful, request's result will be an IDBCursorWithValue pointing at the first matching record, or null if there were no matching records.
|
|
104
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openCursor)
|
|
105
|
+
*/
|
|
106
|
+
@send
|
|
107
|
+
external openCursor: (
|
|
108
|
+
idbObjectStore,
|
|
109
|
+
~query: any=?,
|
|
110
|
+
~direction: idbCursorDirection=?,
|
|
111
|
+
) => idbRequest<any> = "openCursor"
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
Opens a cursor with key only flag set over the records matching query, ordered by direction. If query is null, all records in store are matched.
|
|
115
|
+
|
|
116
|
+
If successful, request's result will be an IDBCursor pointing at the first matching record, or null if there were no matching records.
|
|
117
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/openKeyCursor)
|
|
118
|
+
*/
|
|
119
|
+
@send
|
|
120
|
+
external openKeyCursor: (
|
|
121
|
+
idbObjectStore,
|
|
122
|
+
~query: any=?,
|
|
123
|
+
~direction: idbCursorDirection=?,
|
|
124
|
+
) => idbRequest<any> = "openKeyCursor"
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/index)
|
|
128
|
+
*/
|
|
129
|
+
@send
|
|
130
|
+
external index: (idbObjectStore, string) => idbIndex = "index"
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException.
|
|
134
|
+
|
|
135
|
+
Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
|
|
136
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)
|
|
137
|
+
*/
|
|
138
|
+
@send
|
|
139
|
+
external createIndex: (
|
|
140
|
+
idbObjectStore,
|
|
141
|
+
~name: string,
|
|
142
|
+
~keyPath: string,
|
|
143
|
+
~options: idbIndexParameters=?,
|
|
144
|
+
) => idbIndex = "createIndex"
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
Creates a new index in store with the given name, keyPath and options and returns a new IDBIndex. If the keyPath and options define constraints that cannot be satisfied with the data already in store the upgrade transaction will abort with a "ConstraintError" DOMException.
|
|
148
|
+
|
|
149
|
+
Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
|
|
150
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/createIndex)
|
|
151
|
+
*/
|
|
152
|
+
@send
|
|
153
|
+
external createIndex2: (
|
|
154
|
+
idbObjectStore,
|
|
155
|
+
~name: string,
|
|
156
|
+
~keyPath: array<string>,
|
|
157
|
+
~options: idbIndexParameters=?,
|
|
158
|
+
) => idbIndex = "createIndex"
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
Deletes the index in store with the given name.
|
|
162
|
+
|
|
163
|
+
Throws an "InvalidStateError" DOMException if not called within an upgrade transaction.
|
|
164
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/deleteIndex)
|
|
165
|
+
*/
|
|
166
|
+
@send
|
|
167
|
+
external deleteIndex: (idbObjectStore, string) => unit = "deleteIndex"
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
open EventAPI
|
|
2
|
+
open IndexedDBAPI
|
|
3
|
+
|
|
4
|
+
external asEventTarget: idbTransaction => 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
|
+
idbTransaction,
|
|
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
|
+
idbTransaction,
|
|
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
|
+
idbTransaction,
|
|
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
|
+
idbTransaction,
|
|
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: (idbTransaction, event) => bool = "dispatchEvent"
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
Returns an IDBObjectStore in the transaction's scope.
|
|
86
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStore)
|
|
87
|
+
*/
|
|
88
|
+
@send
|
|
89
|
+
external objectStore: (idbTransaction, string) => idbObjectStore = "objectStore"
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/commit)
|
|
93
|
+
*/
|
|
94
|
+
@send
|
|
95
|
+
external commit: idbTransaction => unit = "commit"
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
Aborts the transaction. All pending requests will fail with a "AbortError" DOMException and all changes made to the database will be reverted.
|
|
99
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort)
|
|
100
|
+
*/
|
|
101
|
+
@send
|
|
102
|
+
external abort: idbTransaction => unit = "abort"
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
|
|
3
|
+
open Prelude
|
|
4
|
+
open EventAPI
|
|
5
|
+
|
|
6
|
+
type idbTransactionMode =
|
|
7
|
+
| @as("readonly") Readonly
|
|
8
|
+
| @as("readwrite") Readwrite
|
|
9
|
+
| @as("versionchange") Versionchange
|
|
10
|
+
|
|
11
|
+
type idbTransactionDurability =
|
|
12
|
+
| @as("default") Default
|
|
13
|
+
| @as("relaxed") Relaxed
|
|
14
|
+
| @as("strict") Strict
|
|
15
|
+
|
|
16
|
+
type idbRequestReadyState =
|
|
17
|
+
| @as("done") Done
|
|
18
|
+
| @as("pending") Pending
|
|
19
|
+
|
|
20
|
+
type idbCursorDirection =
|
|
21
|
+
| @as("next") Next
|
|
22
|
+
| @as("nextunique") Nextunique
|
|
23
|
+
| @as("prev") Prev
|
|
24
|
+
| @as("prevunique") Prevunique
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
In the following code snippet, we make a request to open a database, and include handlers for the success and error cases. For a full working example, see our To-do Notifications app (view example live.)
|
|
28
|
+
[See IDBFactory on MDN](https://developer.mozilla.org/docs/Web/API/IDBFactory)
|
|
29
|
+
*/
|
|
30
|
+
type idbFactory = {}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
This IndexedDB API interface provides a connection to a database; you can use an IDBDatabase object to open a transaction on your database then create, manipulate, and delete objects (data) in that database. The interface provides the only way to get and manage versions of the database.
|
|
34
|
+
[See IDBDatabase on MDN](https://developer.mozilla.org/docs/Web/API/IDBDatabase)
|
|
35
|
+
*/
|
|
36
|
+
type idbDatabase = {
|
|
37
|
+
...eventTarget,
|
|
38
|
+
/**
|
|
39
|
+
Returns the name of the database.
|
|
40
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBDatabase/name)
|
|
41
|
+
*/
|
|
42
|
+
name: string,
|
|
43
|
+
/**
|
|
44
|
+
Returns the version of the database.
|
|
45
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBDatabase/version)
|
|
46
|
+
*/
|
|
47
|
+
version: int,
|
|
48
|
+
/**
|
|
49
|
+
Returns a list of the names of object stores in the database.
|
|
50
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBDatabase/objectStoreNames)
|
|
51
|
+
*/
|
|
52
|
+
objectStoreNames: domStringList,
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
[See IDBTransaction on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction)
|
|
57
|
+
*/
|
|
58
|
+
type idbTransaction = {
|
|
59
|
+
...eventTarget,
|
|
60
|
+
/**
|
|
61
|
+
Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database.
|
|
62
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames)
|
|
63
|
+
*/
|
|
64
|
+
objectStoreNames: domStringList,
|
|
65
|
+
/**
|
|
66
|
+
Returns the mode the transaction was created with ("readonly" or "readwrite"), or "versionchange" for an upgrade transaction.
|
|
67
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/mode)
|
|
68
|
+
*/
|
|
69
|
+
mode: idbTransactionMode,
|
|
70
|
+
/**
|
|
71
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/durability)
|
|
72
|
+
*/
|
|
73
|
+
durability: idbTransactionDurability,
|
|
74
|
+
/**
|
|
75
|
+
Returns the transaction's connection.
|
|
76
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/db)
|
|
77
|
+
*/
|
|
78
|
+
db: idbDatabase,
|
|
79
|
+
/**
|
|
80
|
+
If the transaction was aborted, returns the error (a DOMException) providing the reason.
|
|
81
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBTransaction/error)
|
|
82
|
+
*/
|
|
83
|
+
error: Null.t<domException>,
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
The request object does not initially contain any information about the result of the operation, but once information becomes available, an event is fired on the request, and the information becomes available through the properties of the IDBRequest instance.
|
|
88
|
+
[See IDBRequest on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest)
|
|
89
|
+
*/
|
|
90
|
+
type idbRequest<'t> = {
|
|
91
|
+
...eventTarget,
|
|
92
|
+
/**
|
|
93
|
+
When a request is completed, returns the result, or undefined if the request failed. Throws a "InvalidStateError" DOMException if the request is still pending.
|
|
94
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest/result)
|
|
95
|
+
*/
|
|
96
|
+
result: 't,
|
|
97
|
+
/**
|
|
98
|
+
When a request is completed, returns the error (a DOMException), or null if the request succeeded. Throws a "InvalidStateError" DOMException if the request is still pending.
|
|
99
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest/error)
|
|
100
|
+
*/
|
|
101
|
+
error: Null.t<domException>,
|
|
102
|
+
/**
|
|
103
|
+
Returns the IDBObjectStore, IDBIndex, or IDBCursor the request was made against, or null if is was an open request.
|
|
104
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest/source)
|
|
105
|
+
*/
|
|
106
|
+
source: unknown,
|
|
107
|
+
/**
|
|
108
|
+
Returns the IDBTransaction the request was made within. If this as an open request, then it returns an upgrade transaction while it is running, or null otherwise.
|
|
109
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest/transaction)
|
|
110
|
+
*/
|
|
111
|
+
transaction: Null.t<idbTransaction>,
|
|
112
|
+
/**
|
|
113
|
+
Returns "pending" until a request is complete, then returns "done".
|
|
114
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBRequest/readyState)
|
|
115
|
+
*/
|
|
116
|
+
readyState: idbRequestReadyState,
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
Also inherits methods from its parents IDBRequest and EventTarget.
|
|
121
|
+
[See IDBOpenDBRequest on MDN](https://developer.mozilla.org/docs/Web/API/IDBOpenDBRequest)
|
|
122
|
+
*/
|
|
123
|
+
type idbOpenDBRequest = {
|
|
124
|
+
...idbRequest<idbDatabase>,
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
This example shows a variety of different uses of object stores, from updating the data structure with IDBObjectStore.createIndex inside an onupgradeneeded function, to adding a new item to our object store with IDBObjectStore.add. For a full working example, see our To-do Notifications app (view example live.)
|
|
129
|
+
[See IDBObjectStore on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore)
|
|
130
|
+
*/
|
|
131
|
+
type idbObjectStore = {
|
|
132
|
+
/**
|
|
133
|
+
Returns the name of the store.
|
|
134
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/name)
|
|
135
|
+
*/
|
|
136
|
+
mutable name: string,
|
|
137
|
+
/**
|
|
138
|
+
Returns the key path of the store, or null if none.
|
|
139
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/keyPath)
|
|
140
|
+
*/
|
|
141
|
+
keyPath: string,
|
|
142
|
+
/**
|
|
143
|
+
Returns a list of the names of indexes in the store.
|
|
144
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/indexNames)
|
|
145
|
+
*/
|
|
146
|
+
indexNames: domStringList,
|
|
147
|
+
/**
|
|
148
|
+
Returns the associated transaction.
|
|
149
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/transaction)
|
|
150
|
+
*/
|
|
151
|
+
transaction: idbTransaction,
|
|
152
|
+
/**
|
|
153
|
+
Returns true if the store has a key generator, and false otherwise.
|
|
154
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBObjectStore/autoIncrement)
|
|
155
|
+
*/
|
|
156
|
+
autoIncrement: bool,
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
/**
|
|
160
|
+
IDBIndex interface of the IndexedDB API provides asynchronous access to an index in a database. An index is a kind of object store for looking up records in another object store, called the referenced object store. You use this interface to retrieve data.
|
|
161
|
+
[See IDBIndex on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex)
|
|
162
|
+
*/
|
|
163
|
+
type idbIndex = {
|
|
164
|
+
/**
|
|
165
|
+
Returns the name of the index.
|
|
166
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex/name)
|
|
167
|
+
*/
|
|
168
|
+
mutable name: string,
|
|
169
|
+
/**
|
|
170
|
+
Returns the IDBObjectStore the index belongs to.
|
|
171
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex/objectStore)
|
|
172
|
+
*/
|
|
173
|
+
objectStore: idbObjectStore,
|
|
174
|
+
/**
|
|
175
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex/keyPath)
|
|
176
|
+
*/
|
|
177
|
+
keyPath: string,
|
|
178
|
+
/**
|
|
179
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex/multiEntry)
|
|
180
|
+
*/
|
|
181
|
+
multiEntry: bool,
|
|
182
|
+
/**
|
|
183
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/IDBIndex/unique)
|
|
184
|
+
*/
|
|
185
|
+
unique: bool,
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
type idbValidKey = any
|
|
189
|
+
|
|
190
|
+
type idbDatabaseInfo = {
|
|
191
|
+
mutable name?: string,
|
|
192
|
+
mutable version?: int,
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
type idbTransactionOptions = {mutable durability?: idbTransactionDurability}
|
|
196
|
+
|
|
197
|
+
type idbObjectStoreParameters = {
|
|
198
|
+
mutable keyPath?: Null.t<unknown>,
|
|
199
|
+
mutable autoIncrement?: bool,
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
type idbIndexParameters = {
|
|
203
|
+
mutable unique?: bool,
|
|
204
|
+
mutable multiEntry?: bool,
|
|
205
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
open MediaCapabilitiesAPI
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/decodingInfo)
|
|
5
|
+
*/
|
|
6
|
+
@send
|
|
7
|
+
external decodingInfo: (
|
|
8
|
+
mediaCapabilities,
|
|
9
|
+
mediaDecodingConfiguration,
|
|
10
|
+
) => Promise.t<mediaCapabilitiesDecodingInfo> = "decodingInfo"
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/MediaCapabilities/encodingInfo)
|
|
14
|
+
*/
|
|
15
|
+
@send
|
|
16
|
+
external encodingInfo: (
|
|
17
|
+
mediaCapabilities,
|
|
18
|
+
mediaEncodingConfiguration,
|
|
19
|
+
) => Promise.t<mediaCapabilitiesEncodingInfo> = "encodingInfo"
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
@@warning("-30")
|
|
2
|
+
type hdrMetadataType =
|
|
3
|
+
| @as("smpteSt2086") SmpteSt2086
|
|
4
|
+
| @as("smpteSt2094-10") SmpteSt209410
|
|
5
|
+
| @as("smpteSt2094-40") SmpteSt209440
|
|
6
|
+
|
|
7
|
+
type colorGamut =
|
|
8
|
+
| @as("p3") P3
|
|
9
|
+
| @as("rec2020") Rec2020
|
|
10
|
+
| @as("srgb") Srgb
|
|
11
|
+
|
|
12
|
+
type transferFunction =
|
|
13
|
+
| @as("hlg") Hlg
|
|
14
|
+
| @as("pq") Pq
|
|
15
|
+
| @as("srgb") Srgb
|
|
16
|
+
|
|
17
|
+
type mediaDecodingType =
|
|
18
|
+
| @as("file") File
|
|
19
|
+
| @as("media-source") MediaSource
|
|
20
|
+
| @as("webrtc") Webrtc
|
|
21
|
+
|
|
22
|
+
type mediaEncodingType =
|
|
23
|
+
| @as("record") Record
|
|
24
|
+
| @as("webrtc") Webrtc
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
[See MediaCapabilities on MDN](https://developer.mozilla.org/docs/Web/API/MediaCapabilities)
|
|
28
|
+
*/
|
|
29
|
+
type mediaCapabilities = {}
|
|
30
|
+
|
|
31
|
+
type audioConfiguration = {
|
|
32
|
+
mutable contentType: string,
|
|
33
|
+
mutable channels?: string,
|
|
34
|
+
mutable bitrate?: int,
|
|
35
|
+
mutable samplerate?: int,
|
|
36
|
+
mutable spatialRendering?: bool,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type videoConfiguration = {
|
|
40
|
+
mutable contentType: string,
|
|
41
|
+
mutable width: int,
|
|
42
|
+
mutable height: int,
|
|
43
|
+
mutable bitrate: int,
|
|
44
|
+
mutable framerate: float,
|
|
45
|
+
mutable hasAlphaChannel?: bool,
|
|
46
|
+
mutable hdrMetadataType?: hdrMetadataType,
|
|
47
|
+
mutable colorGamut?: colorGamut,
|
|
48
|
+
mutable transferFunction?: transferFunction,
|
|
49
|
+
mutable scalabilityMode?: string,
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
type mediaConfiguration = {
|
|
53
|
+
mutable video?: videoConfiguration,
|
|
54
|
+
mutable audio?: audioConfiguration,
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
type mediaDecodingConfiguration = {
|
|
58
|
+
...mediaConfiguration,
|
|
59
|
+
@as("type") mutable type_: mediaDecodingType,
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
type mediaCapabilitiesInfo = {
|
|
63
|
+
mutable supported: bool,
|
|
64
|
+
mutable smooth: bool,
|
|
65
|
+
mutable powerEfficient: bool,
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
type mediaCapabilitiesDecodingInfo = {
|
|
69
|
+
...mediaCapabilitiesInfo,
|
|
70
|
+
mutable configuration?: mediaDecodingConfiguration,
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
type mediaEncodingConfiguration = {
|
|
74
|
+
...mediaConfiguration,
|
|
75
|
+
@as("type") mutable type_: mediaEncodingType,
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
type mediaCapabilitiesEncodingInfo = {
|
|
79
|
+
...mediaCapabilitiesInfo,
|
|
80
|
+
mutable configuration?: mediaEncodingConfiguration,
|
|
81
|
+
}
|