Skip to content

Commit bbe9c53

Browse files
committed
fix: correct nullable Web API contracts
1 parent 4a145db commit bbe9c53

21 files changed

Lines changed: 88 additions & 57 deletions

src/animation/Animation.res

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ type iterationCompositeOperation =
138138
type keyframeEffectOptions = {
139139
...AnimationEffect.effectTiming,
140140
mutable composite?: compositeOperation,
141-
mutable pseudoElement?: Null.t<string>,
141+
mutable pseudoElement?: Nullable.t<string>,
142142
mutable iterationComposite?: iterationCompositeOperation,
143143
}
144144

145145
type keyframeAnimationOptions = {
146146
...keyframeEffectOptions,
147147
mutable id?: string,
148-
mutable timeline?: Null.t<animationTimeline>,
148+
mutable timeline?: Nullable.t<animationTimeline>,
149149
}

src/animation/AnimationEffect.res

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ type getAnimationsOptions = {mutable subtree?: bool}
3232

3333
type computedEffectTiming = {
3434
...effectTiming,
35-
mutable progress?: Null.t<float>,
36-
mutable currentIteration?: Null.t<float>,
35+
mutable progress?: Nullable.t<float>,
36+
mutable currentIteration?: Nullable.t<float>,
3737
mutable startTime?: float,
3838
mutable endTime?: float,
3939
mutable activeDuration?: float,
40-
mutable localTime?: Null.t<float>,
40+
mutable localTime?: Nullable.t<float>,
4141
}
4242

4343
type optionalEffectTiming = {

src/canvas/CanvasRenderingContext2D.res

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -127,72 +127,72 @@ external createConicGradient: (
127127
/**
128128
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
129129
*/
130-
@send
130+
@throws(JsExn) @send
131131
external createPattern: (
132132
DOM.canvasRenderingContext2D,
133133
~image: HTMLImageElement.t,
134134
~repetition: string,
135-
) => CanvasTypes.canvasPattern = "createPattern"
135+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
136136

137137
/**
138138
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
139139
*/
140-
@send
140+
@throws(JsExn) @send
141141
external createPattern2: (
142142
DOM.canvasRenderingContext2D,
143143
~image: SVGElement.svgImageElement,
144144
~repetition: string,
145-
) => CanvasTypes.canvasPattern = "createPattern"
145+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
146146

147147
/**
148148
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
149149
*/
150-
@send
150+
@throws(JsExn) @send
151151
external createPattern3: (
152152
DOM.canvasRenderingContext2D,
153153
~image: HTMLVideoElement.t,
154154
~repetition: string,
155-
) => CanvasTypes.canvasPattern = "createPattern"
155+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
156156

157157
/**
158158
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
159159
*/
160-
@send
160+
@throws(JsExn) @send
161161
external createPattern4: (
162162
DOM.canvasRenderingContext2D,
163163
~image: HTMLCanvasElement.t,
164164
~repetition: string,
165-
) => CanvasTypes.canvasPattern = "createPattern"
165+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
166166

167167
/**
168168
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
169169
*/
170-
@send
170+
@throws(JsExn) @send
171171
external createPattern5: (
172172
DOM.canvasRenderingContext2D,
173173
~image: CanvasTypes.imageBitmap,
174174
~repetition: string,
175-
) => CanvasTypes.canvasPattern = "createPattern"
175+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
176176

177177
/**
178178
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
179179
*/
180-
@send
180+
@throws(JsExn) @send
181181
external createPattern6: (
182182
DOM.canvasRenderingContext2D,
183183
~image: CanvasTypes.offscreenCanvas,
184184
~repetition: string,
185-
) => CanvasTypes.canvasPattern = "createPattern"
185+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
186186

187187
/**
188188
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/createPattern)
189189
*/
190-
@send
190+
@throws(JsExn) @send
191191
external createPattern7: (
192192
DOM.canvasRenderingContext2D,
193193
~image: DOM.videoFrame,
194194
~repetition: string,
195-
) => CanvasTypes.canvasPattern = "createPattern"
195+
) => Null.t<CanvasTypes.canvasPattern> = "createPattern"
196196

197197
/**
198198
[Read more on MDN](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/clearRect)

src/core/DOM.res

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -975,10 +975,10 @@ type videoFrameInit = {
975975
}
976976

977977
type videoColorSpaceInit = {
978-
mutable primaries?: Null.t<videoColorPrimaries>,
979-
mutable transfer?: Null.t<videoTransferCharacteristics>,
980-
mutable matrix?: Null.t<videoMatrixCoefficients>,
981-
mutable fullRange?: Null.t<bool>,
978+
mutable primaries?: Nullable.t<videoColorPrimaries>,
979+
mutable transfer?: Nullable.t<videoTransferCharacteristics>,
980+
mutable matrix?: Nullable.t<videoMatrixCoefficients>,
981+
mutable fullRange?: Nullable.t<bool>,
982982
}
983983

984984
type planeLayout = {

src/fetch/FetchTypes.res

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ type requestInit = {
231231
/**
232232
A BodyInit object or null to set request's body.
233233
*/
234-
mutable body?: bodyInit,
234+
mutable body?: Nullable.t<bodyInit>,
235235
/**
236236
A string whose value is a same-origin WebApiURL, "about:client", or the empty string, to set request's referrer.
237237
*/
@@ -267,12 +267,12 @@ type requestInit = {
267267
/**
268268
An AbortSignal to set request's signal.
269269
*/
270-
mutable signal?: Null.t<DOM.abortSignal>,
270+
mutable signal?: Nullable.t<DOM.abortSignal>,
271271
mutable priority?: requestPriority,
272272
/**
273273
Can only be null. Used to disassociate request from any Window.
274274
*/
275-
mutable window?: Null.t<unit>,
275+
mutable window?: Nullable.t<unit>,
276276
}
277277

278278
type responseInit = {

src/file/FileTypes.res

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ type fileSystemCreateWritableOptions = {mutable keepExistingData?: bool}
218218

219219
type writeParams = {
220220
@as("type") mutable type_: writeCommandType,
221-
mutable size?: Null.t<int>,
222-
mutable position?: Null.t<int>,
223-
mutable data?: Null.t<unknown>,
221+
mutable size?: Nullable.t<int>,
222+
mutable position?: Nullable.t<int>,
223+
mutable data?: Nullable.t<unknown>,
224224
}

src/media/BaseEncryptedMediaExtensions.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ type mediaKeySession = private {
8282

8383
type mediaKeySystemMediaCapability = {
8484
mutable contentType?: string,
85-
mutable encryptionScheme?: Null.t<string>,
85+
mutable encryptionScheme?: Nullable.t<string>,
8686
mutable robustness?: string,
8787
}
8888

src/media/MediaCapabilitiesTypes.res

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,8 @@ type mediaCapabilitiesInfo = {
6868

6969
type mediaCapabilitiesDecodingInfo = {
7070
...mediaCapabilitiesInfo,
71-
mutable configuration?: mediaDecodingConfiguration,
71+
mutable keySystemAccess: Null.t<BaseEncryptedMediaExtensions.mediaKeySystemAccess>,
72+
mutable configuration: mediaDecodingConfiguration,
7273
}
7374

7475
type mediaEncodingConfiguration = {
@@ -78,5 +79,5 @@ type mediaEncodingConfiguration = {
7879

7980
type mediaCapabilitiesEncodingInfo = {
8081
...mediaCapabilitiesInfo,
81-
mutable configuration?: mediaEncodingConfiguration,
82+
mutable configuration: mediaEncodingConfiguration,
8283
}

src/messaging/NotificationTypes.res

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ type notificationOptions = {
8080
mutable tag?: string,
8181
mutable icon?: string,
8282
mutable badge?: string,
83-
mutable silent?: Null.t<bool>,
83+
mutable silent?: Nullable.t<bool>,
8484
mutable requireInteraction?: bool,
8585
mutable data?: JSON.t,
8686
mutable actions?: array<notificationAction>,

src/messaging/PushTypes.res

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ type pushSubscription = private {
5959

6060
type pushSubscriptionOptionsInit = {
6161
mutable userVisibleOnly?: bool,
62-
mutable applicationServerKey?: Null.t<applicationServerKey>,
62+
mutable applicationServerKey?: Nullable.t<applicationServerKey>,
6363
}
6464

6565
type pushSubscriptionJSONKeys = {
@@ -71,7 +71,7 @@ type pushSubscriptionJSONKeys = {
7171

7272
type pushSubscriptionJSON = {
7373
mutable endpoint?: string,
74-
mutable expirationTime?: Null.t<int>,
74+
mutable expirationTime?: Nullable.t<int>,
7575
mutable keys?: pushSubscriptionJSONKeys,
7676
}
7777

0 commit comments

Comments
 (0)