MutationObserverInit.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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 = "attributeFilter";
  7. let value = obj === undefined || obj === null ? undefined : obj[key];
  8. if (value !== undefined) {
  9. if (!utils.isObject(value)) {
  10. throw new globalObject.TypeError(
  11. context + " has member 'attributeFilter' that" + " is not an iterable object."
  12. );
  13. } else {
  14. const V = [];
  15. const tmp = value;
  16. for (let nextItem of tmp) {
  17. nextItem = conversions["DOMString"](nextItem, {
  18. context: context + " has member 'attributeFilter' that" + "'s element",
  19. globals: globalObject
  20. });
  21. V.push(nextItem);
  22. }
  23. value = V;
  24. }
  25. ret[key] = value;
  26. }
  27. }
  28. {
  29. const key = "attributeOldValue";
  30. let value = obj === undefined || obj === null ? undefined : obj[key];
  31. if (value !== undefined) {
  32. value = conversions["boolean"](value, {
  33. context: context + " has member 'attributeOldValue' that",
  34. globals: globalObject
  35. });
  36. ret[key] = value;
  37. }
  38. }
  39. {
  40. const key = "attributes";
  41. let value = obj === undefined || obj === null ? undefined : obj[key];
  42. if (value !== undefined) {
  43. value = conversions["boolean"](value, {
  44. context: context + " has member 'attributes' that",
  45. globals: globalObject
  46. });
  47. ret[key] = value;
  48. }
  49. }
  50. {
  51. const key = "characterData";
  52. let value = obj === undefined || obj === null ? undefined : obj[key];
  53. if (value !== undefined) {
  54. value = conversions["boolean"](value, {
  55. context: context + " has member 'characterData' that",
  56. globals: globalObject
  57. });
  58. ret[key] = value;
  59. }
  60. }
  61. {
  62. const key = "characterDataOldValue";
  63. let value = obj === undefined || obj === null ? undefined : obj[key];
  64. if (value !== undefined) {
  65. value = conversions["boolean"](value, {
  66. context: context + " has member 'characterDataOldValue' that",
  67. globals: globalObject
  68. });
  69. ret[key] = value;
  70. }
  71. }
  72. {
  73. const key = "childList";
  74. let value = obj === undefined || obj === null ? undefined : obj[key];
  75. if (value !== undefined) {
  76. value = conversions["boolean"](value, {
  77. context: context + " has member 'childList' that",
  78. globals: globalObject
  79. });
  80. ret[key] = value;
  81. } else {
  82. ret[key] = false;
  83. }
  84. }
  85. {
  86. const key = "subtree";
  87. let value = obj === undefined || obj === null ? undefined : obj[key];
  88. if (value !== undefined) {
  89. value = conversions["boolean"](value, { context: context + " has member 'subtree' that", globals: globalObject });
  90. ret[key] = value;
  91. } else {
  92. ret[key] = false;
  93. }
  94. }
  95. };
  96. exports.convert = (globalObject, obj, { context = "The provided value" } = {}) => {
  97. if (obj !== undefined && typeof obj !== "object" && typeof obj !== "function") {
  98. throw new globalObject.TypeError(`${context} is not an object.`);
  99. }
  100. const ret = Object.create(null);
  101. exports._convertInherit(globalObject, obj, ret, { context });
  102. return ret;
  103. };