UIEventInit.js 1.7 KB

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