DOMRectInit.js 1.9 KB

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