Skip to content

Commit bfaaf68

Browse files
Bashamegasaschanaz
andauthored
Migrate StructuredSerializeOptions (#2327)
Co-authored-by: saschanaz <saschanaz@users.noreply.github.com>
1 parent 1915432 commit bfaaf68

File tree

4 files changed

+12
-15
lines changed

4 files changed

+12
-15
lines changed

inputfiles/knownTypes.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
"RTCStatsIceCandidatePairState",
6262
"RTCStatsType",
6363
"RTCTransportStats",
64-
"Transferable",
6564
"ValueTypeMap",
6665
"VideoFacingModeEnum"
6766
],
@@ -91,12 +90,10 @@
9190
"RsaKeyGenParams",
9291
"RsaOaepParams",
9392
"RsaPssParams",
94-
"Transferable",
9593
"ValueTypeMap"
9694
],
9795
"Worklet": [
9896
"EventListenerOrEventListenerObject",
99-
"Transferable",
10097
"ValueTypeMap"
10198
]
10299
}

inputfiles/overridingTypes.jsonc

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3279,15 +3279,6 @@
32793279
},
32803280
"dictionaries": {
32813281
"dictionary": {
3282-
"StructuredSerializeOptions": {
3283-
"members": {
3284-
"member": {
3285-
"transfer": {
3286-
"overrideType": "Transferable[]"
3287-
}
3288-
}
3289-
}
3290-
},
32913282
"MessageEventInit": {
32923283
"members": {
32933284
"member": {

inputfiles/patches/html.kdl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@ interface HTMLImageElement {
2020
property loading overrideType=#""eager" | "lazy""#
2121
}
2222

23+
dictionary StructuredSerializeOptions {
24+
member transfer {
25+
type {
26+
type Transferable
27+
}
28+
}
29+
}
30+
2331
removals {
2432
dictionary CanvasRenderingContext2DSettings {
2533
member colorType // Blink-only as of 2025-12, being tested in WebKit

src/build/patches.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ function handleMethodAndConstructor(
380380
*/
381381
function handleDictionary(child: Node): DeepPartial<Dictionary> {
382382
const name = string(child.values[0]);
383-
const member: Record<string, Partial<Member>> = {};
383+
const member: Record<string, DeepPartial<Member>> = {};
384384
let typeParameters = {};
385385

386386
for (const c of child.children) {
@@ -417,11 +417,12 @@ function handleDictionary(child: Node): DeepPartial<Dictionary> {
417417
* Handles dictionary member nodes
418418
* @param c The member node to handle.
419419
*/
420-
function handleMember(c: Node): Partial<Member> {
420+
function handleMember(c: Node): DeepPartial<Member> {
421421
const name = string(c.values[0]);
422+
const typeNodes = c.children.filter((c) => c.name === "type");
422423
return {
423424
name,
424-
...optionalMember("type", "string", c.properties?.type),
425+
...handleTyped(typeNodes, c.properties?.type),
425426
...optionalMember("required", "boolean", c.properties?.required),
426427
...optionalMember("deprecated", "string", c.properties?.deprecated),
427428
...optionalMember("overrideType", "string", c.properties?.overrideType),

0 commit comments

Comments
 (0)