"use strict"; const conversions = require("webidl-conversions"); const utils = require("./utils.js"); const EventModifierInit = require("./EventModifierInit"); module.exports = { convertInherit(obj, ret) { EventModifierInit.convertInherit(obj, ret); let key, value; key = "charCode"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["unsigned long"](value); } else { ret[key] = 0; } key = "code"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["DOMString"](value); } else { ret[key] = ""; } key = "isComposing"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["boolean"](value); } else { ret[key] = false; } key = "key"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["DOMString"](value); } else { ret[key] = ""; } key = "keyCode"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["unsigned long"](value); } else { ret[key] = 0; } key = "location"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["unsigned long"](value); } else { ret[key] = 0; } key = "repeat"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["boolean"](value); } else { ret[key] = false; } key = "which"; value = obj === undefined || obj === null ? undefined : obj[key]; if (value !== undefined) { ret[key] = conversions["unsigned long"](value); } else { ret[key] = 0; } }, convert(obj) { if (obj !== undefined && typeof obj !== "object") { throw new TypeError("Dictionary has to be an object"); } if (obj instanceof Date || obj instanceof RegExp) { throw new TypeError("Dictionary may not be a Date or RegExp object"); } const ret = Object.create(null); module.exports.convertInherit(obj, ret); return ret; } };