StaticRangeInit.js 2.2 KB

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