diff --git a/inputfiles/addedTypes.jsonc b/inputfiles/addedTypes.jsonc index 5b7586411..12d32ca4e 100644 --- a/inputfiles/addedTypes.jsonc +++ b/inputfiles/addedTypes.jsonc @@ -842,16 +842,6 @@ } } }, - "MemoryDescriptor": { - "members": { - "member": { - "shared": { - "name": "shared", - "type": "boolean" - } - } - } - }, "ReadableStreamReadDoneResult": { "name": "ReadableStreamReadDoneResult", "typeParameters": [ @@ -952,50 +942,6 @@ } } } - }, - "ValueTypeMap": { - "name": "ValueTypeMap", - "legacyNamespace": "WebAssembly", - "exposed":"Window Worker Worklet", - "members": { - "member": { - "anyfunc": { - "name": "anyfunc", - "overrideType": "Function", - "required": 1 - }, - "externref": { - "name": "externref", - "overrideType": "any", - "required": 1 - }, - "f32": { - "name": "f32", - "overrideType": "number", - "required": 1 - }, - "f64": { - "name": "f64", - "overrideType": "number", - "required": 1 - }, - "i32": { - "name": "i32", - "overrideType": "number", - "required": 1 - }, - "i64": { - "name": "i64", - "overrideType": "bigint", - "required": 1 - }, - "v128": { - "name": "v128", - "overrideType": "never", - "required": 1 - } - } - } } } }, diff --git a/inputfiles/patches/webassembly.kdl b/inputfiles/patches/webassembly.kdl index 473600bc6..cd66192ab 100644 --- a/inputfiles/patches/webassembly.kdl +++ b/inputfiles/patches/webassembly.kdl @@ -1,3 +1,17 @@ enum ImportExportKind legacyNamespace=WebAssembly enum TableKind legacyNamespace=WebAssembly enum AddressType legacyNamespace=WebAssembly + +dictionary ValueTypeMap legacyNamespace=WebAssembly { + member anyfunc required=#true type=Function + member externref required=#true type=any + member f32 required=#true type=long + member f64 required=#true type=long + member i32 required=#true type=long + member i64 required=#true type=bigint + member v128 required=#true overrideType=never +} + +dictionary MemoryDescriptor { + member shared type=boolean +} diff --git a/package-lock.json b/package-lock.json index c0174e939..3094e2751 100644 --- a/package-lock.json +++ b/package-lock.json @@ -409,8 +409,7 @@ "resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-7.1.18.tgz", "integrity": "sha512-RK4UylAXCRRWbJOFxua8qudPH6976wLeofn341Y/0qGBk+JLdnPIPV2nAg0O3EitSkaa9WiyWo05t0KWq6dfwA==", "dev": true, - "license": "CC0-1.0", - "peer": true + "license": "CC0-1.0" }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -465,7 +464,6 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -874,7 +872,6 @@ "integrity": "sha512-BnOroVl1SgrPLywqxyqdJ4l3S2MsKVLDVxZvjI1Eoe8ev2r3kGDo+PcMihNmDE+6/KjkTubSJnmqGZZjQSBq/g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.46.2", "@typescript-eslint/types": "8.46.2", @@ -1221,7 +1218,6 @@ "integrity": "sha512-Y3ytN2KguJMNBgigmgvehuIlmCIM17WtYPpDbsJA7DFG0is+jUJfQioA7AnB/Og7JufdGV6912GFS0HBrpx+dQ==", "dev": true, "license": "MIT", - "peer": true, "peerDependencies": { "webidl2": "^24.5.0" } @@ -1231,7 +1227,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -1636,7 +1631,6 @@ "integrity": "sha512-dKYCMuPO1bmrpuogcjQ8z7ICCH3FP6WmxpwC03yjzGfZhj9fTJg6+bS1+UAplekbN2C+M61UNllGOOoAfGCrdQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^4.0.0", "@octokit/graphql": "^7.1.0", @@ -1934,7 +1928,6 @@ "integrity": "sha512-iy2GE3MHrYTL5lrCtMZ0X1KLEKKUjmK0kzwcnefhR66txcEmXZD2YWgR5GNdcEwkNx3a0siYkSvl0vIC+Svjmg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -1995,7 +1988,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -3053,7 +3045,8 @@ "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", "dev": true, - "license": "CC0-1.0" + "license": "CC0-1.0", + "peer": true }, "node_modules/memfs-or-file-map-to-github-branch": { "version": "1.3.0", @@ -3434,7 +3427,6 @@ "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", "dev": true, - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -3742,6 +3734,7 @@ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, "license": "BSD-3-Clause", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -3984,7 +3977,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4072,7 +4064,6 @@ "integrity": "sha512-fxOigKkIem1iAgQ9t4cFOP+kWEA8y6Be/uh50FpJh0FijoeeT/VMrOyJzNLUgjy0rGMEcHeReKDCqj0g9dIe9A==", "dev": true, "license": "W3C", - "peer": true, "engines": { "node": ">= 18" } diff --git a/src/build/helpers.ts b/src/build/helpers.ts index 19272793a..da84f2d91 100644 --- a/src/build/helpers.ts +++ b/src/build/helpers.ts @@ -56,6 +56,7 @@ const sameTypes = new Set([ "PromiseLike", "undefined", "void", + "bigint", ]); export const baseTypeConversionMap = new Map([ ...[...bufferSourceTypes].map((type) => [type, type] as const), diff --git a/src/build/patches.ts b/src/build/patches.ts index 28da6377f..77c455515 100644 --- a/src/build/patches.ts +++ b/src/build/patches.ts @@ -298,6 +298,11 @@ function handleDictionary(child: Node): DeepPartial { return { name, members: { member }, + ...optionalMember( + "legacyNamespace", + "string", + child.properties?.legacyNamespace, + ), }; } @@ -311,6 +316,7 @@ function handleMember(c: Node): Partial { name, ...optionalMember("type", "string", c.properties?.type), ...optionalMember("required", "boolean", c.properties?.required), + ...optionalMember("overrideType", "string", c.properties?.overrideType), }; }