Socket
Socket
Sign inDemoInstall

webidl2

Package Overview
Dependencies
Maintainers
2
Versions
106
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

webidl2 - npm Package Compare versions

Comparing version 10.1.0 to 10.2.0

test/invalid/idl/stringconstants.widl

30

lib/webidl2.js

@@ -211,5 +211,5 @@ "use strict";

function single_type() {
function single_type(typeName) {
const prim = primitive_type();
const ret = { sequence: false, generic: null, nullable: false, union: false };
const ret = { type: typeName || null, sequence: false, generic: null, nullable: false, union: false };
let name;

@@ -232,3 +232,3 @@ let value;

all_ws();
types.push(type_with_extended_attributes() || error("Error parsing generic type " + value));
types.push(type_with_extended_attributes(typeName) || error("Error parsing generic type " + value));
all_ws();

@@ -264,6 +264,6 @@ }

function union_type() {
function union_type(typeName) {
all_ws();
if (!consume(OTHER, "(")) return;
const ret = { sequence: false, generic: null, nullable: false, union: true, idlType: [] };
const ret = { type: typeName || null, sequence: false, generic: null, nullable: false, union: true, idlType: [] };
const fst = type_with_extended_attributes() || error("Union type with no content");

@@ -282,9 +282,9 @@ ret.idlType.push(fst);

function type() {
return single_type() || union_type();
function type(typeName) {
return single_type(typeName) || union_type(typeName);
};
function type_with_extended_attributes() {
function type_with_extended_attributes(typeName) {
const extAttrs = extended_attrs();
const ret = single_type() || union_type();
const ret = single_type(typeName) || union_type(typeName);
if (extAttrs.length && ret) ret.extAttrs = extAttrs;

@@ -303,3 +303,3 @@ return ret;

}
ret.idlType = type_with_extended_attributes();
ret.idlType = type_with_extended_attributes("argument-type");
if (!ret.idlType) {

@@ -453,3 +453,3 @@ if (opt_token) tokens.unshift(opt_token);

}
ret.idlType = typ;
ret.idlType = { type: "const-type", idlType: typ };
all_ws();

@@ -560,3 +560,3 @@ if (consume(OTHER, "?")) {

all_ws();
ret.idlType = type_with_extended_attributes() || error("No type in attribute");
ret.idlType = type_with_extended_attributes("attribute-type") || error("No type in attribute");
if (ret.idlType.sequence) error("Attributes cannot accept sequence types");

@@ -573,3 +573,3 @@ if (ret.idlType.generic === "record") error("Attributes cannot accept record types");

function return_type() {
const typ = type();
const typ = type("return-type");
if (!typ) {

@@ -885,3 +885,3 @@ if (consume(ID, "void")) {

const required = consume(ID, "required");
const typ = type_with_extended_attributes() || error("No type for dictionary member");
const typ = type_with_extended_attributes("dictionary-type") || error("No type for dictionary member");
all_ws();

@@ -949,3 +949,3 @@ const name = consume(ID) || error("No name for dictionary member");

all_ws();
ret.idlType = type_with_extended_attributes() || error("No type in typedef");
ret.idlType = type_with_extended_attributes("typedef-type") || error("No type in typedef");
all_ws();

@@ -952,0 +952,0 @@ const name = consume(ID) || error("No name in typedef");

{
"name": "webidl2",
"description": "A WebIDL Parser",
"version": "10.1.0",
"version": "10.2.0",
"contributors": [

@@ -19,6 +19,7 @@ "Robin Berjon <robin@berjon.com> (https://berjon.com)",

"scripts": {
"test": "mocha"
"test": "mocha",
"acquire": "node test/util/acquire.js"
},
"repository": "git://github.com/darobin/webidl2.js",
"repository": "git://github.com/w3c/webidl2.js",
"main": "index"
}

@@ -7,36 +7,15 @@ // NOTES:

const wp = require("../lib/webidl2");
const { collect } = require("./util/collect");
const fs = require("fs");
const expect = require("expect");
const pth = require("path");
const fs = require("fs");
describe("Parses all of the invalid IDLs to check that they blow up correctly", () => {
const dir = pth.join(__dirname, "invalid/idl");
const skip = {};
const idls = fs.readdirSync(dir)
.filter(it => (/\.w?idl$/).test(it) && !skip[it])
.map(it => pth.join(dir, it));
for (const idl of idls) {
const err = JSON.parse(fs.readFileSync(
pth.join(__dirname, "invalid", "json", pth.basename(idl).replace(/\.w?idl/, ".json")),
"utf8"
));
it(`should produce the right error for ${idl}`, () => {
let error;
try {
const ast = wp.parse(fs.readFileSync(idl, "utf8"));
console.log(JSON.stringify(ast, null, 4));
}
catch (e) {
error = e;
}
finally {
expect(error).toBeTruthy();
expect(error.message).toEqual(err.message);
expect(error.line).toEqual(err.line);
}
for (const test of collect("invalid", { expectError: true })) {
it(`should produce the right error for ${test.path}`, () => {
const err = test.readJSON();
expect(test.error).toBeTruthy();
expect(test.error.message).toEqual(err.message);
expect(test.error.line).toEqual(err.line);
});
}
});
"use strict";
const wp = require("../lib/webidl2");
const { collect } = require("./util/collect");
const expect = require("expect");
const pth = require("path");
const fs = require("fs");
const jdp = require("jsondiffpatch");
const debug = true;
describe("Parses all of the IDLs to produce the correct ASTs", () => {
const dir = pth.join(__dirname, "syntax/idl");
const skip = {}; // use if we have a broken test
const idls = fs.readdirSync(dir)
.filter(it => (/\.widl$/).test(it) && !skip[it])
.map(it => pth.join(dir, it));
for (const idl of idls) {
const json = pth.join(__dirname, "syntax/json", pth.basename(idl).replace(".widl", ".json"));
it(`should produce the same AST for ${idl}`, () => {
for (const test of collect("syntax")) {
it(`should produce the same AST for ${test.path}`, () => {
try {
const optFile = pth.join(__dirname, "syntax/opt", pth.basename(json));
let opt = undefined;
if (fs.existsSync(optFile))
opt = JSON.parse(fs.readFileSync(optFile, "utf8"));
const diff = jdp.diff(JSON.parse(fs.readFileSync(json, "utf8")),
wp.parse(fs.readFileSync(idl, "utf8").replace(/\r\n/g, "\n"), opt));
if (diff && debug) console.log(JSON.stringify(diff, null, 4));
expect(diff).toBe(undefined);
expect(test.diff()).toBeFalsy();
}

@@ -31,0 +13,0 @@ catch (e) {

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -34,2 +35,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -48,2 +50,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -68,2 +71,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -89,2 +93,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -91,0 +96,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -28,2 +29,2 @@ "generic": null,

}
]
]

@@ -6,2 +6,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -19,2 +20,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -44,2 +46,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -58,2 +61,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -78,2 +82,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -91,2 +96,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -105,2 +111,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -107,0 +114,0 @@ "generic": null,

@@ -10,3 +10,6 @@ [

"nullable": false,
"idlType": "boolean",
"idlType": {
"type": "const-type",
"idlType": "boolean"
},
"name": "DEBUG",

@@ -22,3 +25,6 @@ "value": {

"nullable": false,
"idlType": "short",
"idlType": {
"type": "const-type",
"idlType": "short"
},
"name": "negative",

@@ -34,3 +40,6 @@ "value": {

"nullable": false,
"idlType": "octet",
"idlType": {
"type": "const-type",
"idlType": "octet"
},
"name": "LF",

@@ -46,3 +55,6 @@ "value": {

"nullable": false,
"idlType": "unsigned long",
"idlType": {
"type": "const-type",
"idlType": "unsigned long"
},
"name": "BIT_MASK",

@@ -58,3 +70,6 @@ "value": {

"nullable": false,
"idlType": "float",
"idlType": {
"type": "const-type",
"idlType": "float"
},
"name": "AVOGADRO",

@@ -70,3 +85,6 @@ "value": {

"nullable": false,
"idlType": "unrestricted float",
"idlType": {
"type": "const-type",
"idlType": "unrestricted float"
},
"name": "sobig",

@@ -82,3 +100,6 @@ "value": {

"nullable": false,
"idlType": "unrestricted double",
"idlType": {
"type": "const-type",
"idlType": "unrestricted double"
},
"name": "minusonedividedbyzero",

@@ -94,3 +115,6 @@ "value": {

"nullable": false,
"idlType": "short",
"idlType": {
"type": "const-type",
"idlType": "short"
},
"name": "notanumber",

@@ -106,2 +130,2 @@ "value": {

}
]
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -48,2 +50,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -65,2 +68,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -92,2 +96,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -94,0 +99,0 @@ "generic": null,

@@ -12,2 +12,3 @@ [

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -30,2 +31,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -47,2 +49,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -70,2 +73,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -83,2 +87,2 @@ "generic": null,

}
]
]

@@ -12,2 +12,3 @@ [

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -30,2 +31,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -47,2 +49,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -61,2 +64,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": true,

@@ -67,2 +71,3 @@ "generic": "sequence",

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -86,2 +91,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -109,2 +115,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -123,2 +130,3 @@ "generic": null,

"idlType": {
"type": "dictionary-type",
"sequence": false,

@@ -135,2 +143,2 @@ "generic": null,

}
]
]

@@ -10,2 +10,2 @@ [

}
]
]

@@ -6,5 +6,14 @@ [

"values": [
{ "type": "string", "value": "rice" },
{ "type": "string", "value": "noodles" },
{ "type": "string", "value": "other" }
{
"type": "string",
"value": "rice"
},
{
"type": "string",
"value": "noodles"
},
{
"type": "string",
"value": "other"
}
],

@@ -25,2 +34,3 @@ "extAttrs": []

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -42,2 +52,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -60,2 +71,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -74,2 +86,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -88,2 +101,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -108,5 +122,14 @@ "generic": null,

"values": [
{ "type": "string", "value": "rice" },
{ "type": "string", "value": "noodles" },
{ "type": "string", "value": "other" }
{
"type": "string",
"value": "rice"
},
{
"type": "string",
"value": "noodles"
},
{
"type": "string",
"value": "other"
}
],

@@ -113,0 +136,0 @@ "extAttrs": []

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -66,2 +69,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -80,2 +84,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -94,2 +99,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -122,2 +128,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -140,2 +147,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -154,2 +162,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -174,2 +183,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -188,2 +198,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -202,2 +213,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -222,2 +234,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -236,2 +249,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -256,2 +270,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -270,2 +285,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -284,2 +300,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -286,0 +303,0 @@ "generic": null,

@@ -33,136 +33,141 @@ [

{
"type": "interface",
"name": "IdInterface",
"partial": false,
"members": [],
"inheritance": null,
"extAttrs": [
{
"name": "IntAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "integer",
"value": "0"
}
},
{
"name": "FloatAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "float",
"value": "3.14"
}
},
{
"name": "StringAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "string",
"value": "\"abc\""
}
}
]
"type": "interface",
"name": "IdInterface",
"partial": false,
"members": [],
"inheritance": null,
"extAttrs": [
{
"name": "IntAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "integer",
"value": "0"
}
},
{
"name": "FloatAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "float",
"value": "3.14"
}
},
{
"name": "StringAttr",
"arguments": null,
"type": "extended-attribute",
"rhs": {
"type": "string",
"value": "\"abc\""
}
}
]
},
{
"type": "interface",
"name": "Circle",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "r",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "cx",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "cy",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": true,
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "circumference",
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": [
{
"name": "Constructor",
"arguments": null,
"type": "extended-attribute",
"rhs": null
},
{
"name": "Constructor",
"arguments": [
"type": "interface",
"name": "Circle",
"partial": false,
"members": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "radius"
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "r",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "cx",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "cy",
"extAttrs": []
},
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": true,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "circumference",
"extAttrs": []
}
],
"type": "extended-attribute",
"rhs": null
}
]
],
"inheritance": null,
"extAttrs": [
{
"name": "Constructor",
"arguments": null,
"type": "extended-attribute",
"rhs": null
},
{
"name": "Constructor",
"arguments": [
{
"optional": false,
"variadic": false,
"extAttrs": [],
"idlType": {
"type": "argument-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "double"
},
"name": "radius"
}
],
"type": "extended-attribute",
"rhs": null
}
]
},

@@ -181,2 +186,3 @@ {

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -188,2 +194,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -196,2 +203,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -198,0 +206,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -21,2 +22,3 @@ "generic": "Promise",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -27,2 +29,3 @@ "generic": "ResponsePromise",

"idlType": {
"type": "return-type",
"sequence": true,

@@ -33,2 +36,3 @@ "generic": "sequence",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -54,2 +58,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -60,2 +65,3 @@ "generic": "Promise",

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -88,2 +94,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -94,2 +101,3 @@ "generic": "Promise",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -114,2 +122,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -120,2 +129,3 @@ "generic": "Promise",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -149,2 +159,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -155,2 +166,3 @@ "generic": "ResponsePromise",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -157,0 +169,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -66,2 +69,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -80,2 +84,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -94,2 +99,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -96,0 +102,0 @@ "generic": null,

@@ -5,2 +5,3 @@ [

"idlType": {
"type": "typedef-type",
"sequence": false,

@@ -28,2 +29,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -42,2 +44,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -62,2 +65,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -76,2 +80,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -104,2 +109,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -121,2 +127,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -148,2 +155,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -162,2 +170,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -164,0 +173,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -41,2 +42,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -55,2 +57,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -69,2 +72,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -83,2 +87,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -85,0 +90,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -66,2 +69,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -80,2 +84,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -94,2 +99,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -114,2 +120,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -128,2 +135,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -148,2 +156,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -162,2 +171,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -182,2 +192,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -196,2 +207,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -210,2 +222,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -230,2 +243,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -244,2 +258,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -246,0 +261,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -40,2 +41,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -57,2 +59,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -71,2 +74,2 @@ "generic": null,

}
]
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -40,2 +41,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -66,2 +68,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -80,2 +83,2 @@ "generic": null,

}
]
]

@@ -10,3 +10,4 @@ [

"idlType": [
{
{
"type": null,
"sequence": false,

@@ -34,2 +35,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -42,2 +44,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -65,2 +68,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -88,2 +92,1 @@ "generic": null,

]

@@ -11,2 +11,3 @@ [

{
"type": null,
"sequence": false,

@@ -26,2 +27,1 @@ "generic": null,

]

@@ -11,2 +11,3 @@ [

{
"type": null,
"sequence": false,

@@ -19,2 +20,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -43,2 +45,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -51,2 +54,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -75,2 +79,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -91,2 +96,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -115,2 +121,1 @@ "generic": null,

]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -51,2 +52,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -53,0 +55,0 @@ "generic": null,

@@ -26,2 +26,3 @@ [

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -44,2 +45,2 @@ "generic": null,

}
]
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -60,2 +63,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -80,2 +84,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -94,2 +99,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -108,2 +114,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -110,0 +117,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -29,2 +30,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -31,0 +33,0 @@ "generic": null,

@@ -10,3 +10,6 @@ [

"nullable": true,
"idlType": "boolean",
"idlType": {
"type": "const-type",
"idlType": "boolean"
},
"name": "ARE_WE_THERE_YET",

@@ -35,2 +38,3 @@ "value": {

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -49,2 +53,2 @@ "generic": null,

}
]
]

@@ -31,2 +31,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -45,2 +46,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -65,2 +67,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -79,2 +82,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -81,0 +85,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -29,2 +30,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -43,2 +45,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -57,2 +60,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -71,2 +75,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -73,0 +78,0 @@ "generic": null,

@@ -31,2 +31,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -45,2 +46,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -65,2 +67,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -79,2 +82,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -108,2 +112,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -122,2 +127,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -142,2 +148,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -163,2 +170,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -177,2 +185,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -191,2 +200,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -211,2 +221,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -230,2 +241,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -244,2 +256,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -258,2 +271,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -272,2 +286,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -286,2 +301,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -288,0 +304,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -48,0 +51,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -40,2 +41,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -53,2 +55,2 @@ "generic": null,

}
]
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -48,2 +50,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -65,2 +68,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -82,2 +86,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -99,2 +104,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -116,2 +122,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -133,2 +140,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -150,2 +158,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -167,2 +176,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -184,2 +194,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -201,2 +212,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -218,2 +230,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -235,2 +248,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -252,2 +266,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -269,2 +284,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -286,2 +302,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -300,2 +317,2 @@ "generic": null,

}
]
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -16,0 +17,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -41,2 +42,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -55,2 +57,2 @@ "generic": null,

}
]
]

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -29,2 +30,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": true,

@@ -35,2 +37,3 @@ "generic": "sequence",

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -42,2 +45,3 @@ "generic": "record",

{
"type": "argument-type",
"sequence": false,

@@ -50,2 +54,3 @@ "generic": null,

{
"type": "argument-type",
"sequence": false,

@@ -73,2 +78,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -80,2 +86,3 @@ "generic": "record",

{
"type": "return-type",
"sequence": false,

@@ -88,2 +95,3 @@ "generic": null,

{
"type": "return-type",
"sequence": false,

@@ -95,2 +103,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -103,2 +112,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -126,2 +136,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -148,2 +159,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -155,2 +167,3 @@ "generic": "record",

{
"type": "argument-type",
"sequence": false,

@@ -163,2 +176,3 @@ "generic": null,

{
"type": "argument-type",
"sequence": false,

@@ -193,2 +207,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -200,2 +215,3 @@ "generic": "record",

{
"type": "return-type",
"sequence": false,

@@ -208,2 +224,3 @@ "generic": null,

{
"type": "return-type",
"sequence": false,

@@ -210,0 +227,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -58,2 +60,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -77,2 +80,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -91,2 +95,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -111,2 +116,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -125,2 +131,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -139,2 +146,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -141,0 +149,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -39,2 +40,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -41,0 +43,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -29,2 +30,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": true,

@@ -35,2 +37,3 @@ "generic": "sequence",

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -56,2 +59,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": true,

@@ -62,2 +66,3 @@ "generic": "sequence",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -83,3 +88,2 @@ "generic": null,

"members": [
{

@@ -93,2 +97,3 @@ "type": "operation",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -108,3 +113,2 @@ "generic": null,

},
{

@@ -123,2 +127,3 @@ "type": "interface",

"idlType": {
"type": "return-type",
"sequence": false,

@@ -137,2 +142,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": true,

@@ -143,2 +149,3 @@ "generic": "sequence",

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -145,0 +152,0 @@ "generic": null,

@@ -11,2 +11,3 @@ [

{
"type": null,
"sequence": false,

@@ -35,2 +36,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -59,2 +61,3 @@ "generic": null,

{
"type": null,
"sequence": false,

@@ -83,2 +86,1 @@ "generic": null,

]

@@ -22,2 +22,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -39,2 +40,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -56,2 +58,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -73,2 +76,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -91,2 +95,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -105,2 +110,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -119,2 +125,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -133,2 +140,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -135,0 +143,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -33,0 +35,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -48,2 +50,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -66,2 +69,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -68,0 +72,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -17,0 +18,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -49,2 +51,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -73,2 +76,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -75,0 +79,0 @@ "generic": null,

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -49,2 +51,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -73,2 +76,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -75,0 +79,0 @@ "generic": null,

[
{
"type" : "typedef",
"idlType" : {
"nullable" : false,
"generic" : null,
"union" : true,
"idlType" : [
{
"union" : false,
"generic" : null,
"nullable" : false,
"array" : false,
"sequence" : false,
"idlType" : "ImageData"
},
{
"generic" : null,
"union" : false,
"nullable" : false,
"array" : false,
"idlType" : "HTMLImageElement",
"sequence" : false
},
{
"array" : false,
"sequence" : false,
"idlType" : "HTMLCanvasElement",
"generic" : null,
"union" : false,
"nullable" : false
},
{
"union" : false,
"generic" : null,
"nullable" : false,
"array" : false,
"sequence" : false,
"idlType" : "HTMLVideoElement"
}
],
"sequence" : false,
"array" : false
},
"name" : "TexImageSource",
"extAttrs" : [],
"typeExtAttrs" : []
}
{
"type": "typedef",
"idlType": {
"type": "typedef-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": true,
"idlType": [
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "ImageData"
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "HTMLImageElement"
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "HTMLCanvasElement"
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "HTMLVideoElement"
}
]
},
"name": "TexImageSource",
"extAttrs": []
}
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -31,2 +32,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -48,2 +50,3 @@ "generic": null,

"idlType": {
"type": "typedef-type",
"sequence": true,

@@ -54,2 +57,3 @@ "generic": "sequence",

"idlType": {
"type": "typedef-type",
"sequence": false,

@@ -77,2 +81,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -94,2 +99,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -120,2 +126,3 @@ "generic": null,

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -138,2 +145,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -152,2 +160,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -172,2 +181,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -186,2 +196,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -205,2 +216,3 @@ "generic": null,

"idlType": {
"type": "typedef-type",
"sequence": false,

@@ -207,0 +219,0 @@ "generic": null,

@@ -15,2 +15,3 @@ [

"idlType": {
"type": "return-type",
"sequence": false,

@@ -29,2 +30,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": true,

@@ -35,2 +37,3 @@ "generic": "sequence",

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -37,0 +40,0 @@ "generic": null,

[
{
"partial": false,
"members": [
{
"idlType": {
"idlType": [
{
"union": false,
"sequence": false,
"generic": null,
"idlType": "float",
"nullable": false
},
{
"idlType": [
{
"type": "interface",
"name": "Union",
"partial": false,
"members": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": true,
"idlType": [
{
"nullable": false,
"idlType": "Date",
"sequence": false,
"generic": null,
"union": false
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "float"
},
{
"nullable": false,
"idlType": "Event",
"generic": null,
"sequence": false,
"union": false
}
],
"nullable": false,
"sequence": false,
"generic": null,
"union": true
},
{
"generic": null,
"sequence": false,
"idlType": [
{
"union": false,
"sequence": false,
"generic": null,
"nullable": false,
"idlType": "Node"
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": true,
"idlType": [
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "Date"
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "Event"
}
]
},
{
"nullable": false,
"idlType": "DOMString",
"sequence": false,
"generic": null,
"union": false
"type": null,
"sequence": false,
"generic": null,
"nullable": true,
"union": true,
"idlType": [
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "Node"
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "DOMString"
}
]
}
],
"nullable": true,
"union": true
}
],
"nullable": false,
"generic": null,
"sequence": false,
"union": true
]
},
"name": "test",
"extAttrs": []
},
"name": "test",
"inherit": false,
"type": "attribute",
"extAttrs": [],
"readonly": false,
"stringifier": false,
"static": false
},
{
"readonly": false,
"extAttrs": [],
"stringifier": false,
"static": false,
"name": "test2",
"idlType": {
"nullable": false,
"idlType": [
{
"extAttrs": [
{
"type": "attribute",
"static": false,
"stringifier": false,
"inherit": false,
"readonly": false,
"idlType": {
"type": "attribute-type",
"sequence": false,
"generic": null,
"nullable": false,
"union": true,
"idlType": [
{
"name": "EnforceRange",
"arguments": null,
"type": "extended-attribute",
"rhs": null
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "long",
"extAttrs": [
{
"name": "EnforceRange",
"arguments": null,
"type": "extended-attribute",
"rhs": null
}
]
},
{
"type": null,
"sequence": false,
"generic": null,
"nullable": false,
"union": false,
"idlType": "Date"
}
],
"nullable": false,
"idlType": "long",
"generic": null,
"sequence": false,
"union": false
},
{
"union": false,
"sequence": false,
"generic": null,
"idlType": "Date",
"nullable": false
}
],
"generic": null,
"sequence": false,
"union": true
},
"inherit": false,
"type": "attribute"
}
],
"inheritance": null,
"name": "Union",
"extAttrs": [],
"type": "interface"
}
]
},
"name": "test2",
"extAttrs": []
}
],
"inheritance": null,
"extAttrs": []
}
]

@@ -14,2 +14,3 @@ [

"idlType": {
"type": "attribute-type",
"sequence": false,

@@ -32,2 +33,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -46,2 +48,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -66,2 +69,3 @@ "generic": null,

"idlType": {
"type": "return-type",
"sequence": false,

@@ -80,2 +84,3 @@ "generic": null,

"idlType": {
"type": "argument-type",
"sequence": false,

@@ -82,0 +87,0 @@ "generic": null,

"use strict";
const { collect } = require("./util/collect");
const wp = require("../lib/webidl2");
const writer = require("../lib/writer");
const expect = require("expect");
const pth = require("path");
const fs = require("fs");
const jdp = require("jsondiffpatch");
const debug = true;
describe("Rewrite and parses all of the IDLs to produce the same ASTs", () => {
const dir = pth.join(__dirname, "syntax/idl");
const skip = {}; // use if we have a broken test
const idls = fs.readdirSync(dir)
.filter(it => (/\.widl$/).test(it) && !skip[it])
.map(it => pth.join(dir, it));
for (const idl of idls) {
const json = pth.join(__dirname, "syntax/json", pth.basename(idl).replace(".widl", ".json"));
it(`should produce the same AST for ${idl}`, () => {
for (const test of collect("syntax")) {
it(`should produce the same AST for ${test.path}`, () => {
try {
const ast = JSON.parse(fs.readFileSync(json, "utf8"));
const optFile = pth.join(__dirname, "syntax/opt", pth.basename(json));
let opt = undefined;
if (fs.existsSync(optFile))
opt = JSON.parse(fs.readFileSync(optFile, "utf8"));
const diff = jdp.diff(ast,
wp.parse(writer.write(ast), opt));
const diff = test.diff(wp.parse(writer.write(test.ast), test.opt));
if (diff && debug) console.log(JSON.stringify(diff, null, 4));

@@ -31,0 +15,0 @@ expect(diff).toBe(undefined);

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc