InputEventInit.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. "use strict";
  2. const conversions = require("webidl-conversions");
  3. const utils = require("./utils.js");
  4. const UIEventInit = require("./UIEventInit.js");
  5. exports._convertInherit = (globalObject, obj, ret, { context = "The provided value" } = {}) => {
  6. UIEventInit._convertInherit(globalObject, obj, ret, { context });
  7. {
  8. const key = "data";
  9. let value = obj === undefined || obj === null ? undefined : obj[key];
  10. if (value !== undefined) {
  11. if (value === null || value === undefined) {
  12. value = null;
  13. } else {
  14. value = conversions["DOMString"](value, {
  15. context: context + " has member 'data' that",
  16. globals: globalObject
  17. });
  18. }
  19. ret[key] = value;
  20. } else {
  21. ret[key] = null;
  22. }
  23. }
  24. {
  25. const key = "inputType";
  26. let value = obj === undefined || obj === null ? undefined : obj[key];
  27. if (value !== undefined) {
  28. value = conversions["DOMString"](value, {
  29. context: context + " has member 'inputType' that",
  30. globals: globalObject
  31. });
  32. ret[key] = value;
  33. } else {
  34. ret[key] = "";
  35. }
  36. }
  37. {
  38. const key = "isComposing";
  39. let value = obj === undefined || obj === null ? undefined : obj[key];
  40. if (value !== undefined) {
  41. value = conversions["boolean"](value, {
  42. context: context + " has member 'isComposing' that",
  43. globals: globalObject
  44. });
  45. ret[key] = value;
  46. } else {
  47. ret[key] = false;
  48. }
  49. }
  50. };
  51. exports.convert = (globalObject, obj, { context = "The provided value" } = {}) => {
  52. if (obj !== undefined && typeof obj !== "object" && typeof obj !== "function") {
  53. throw new globalObject.TypeError(`${context} is not an object.`);
  54. }
  55. const ret = Object.create(null);
  56. exports._convertInherit(globalObject, obj, ret, { context });
  57. return ret;
  58. };