TouchEventInit.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. "use strict";
  2. const conversions = require("webidl-conversions");
  3. const utils = require("./utils.js");
  4. const EventModifierInit = require("./EventModifierInit.js");
  5. exports._convertInherit = (globalObject, obj, ret, { context = "The provided value" } = {}) => {
  6. EventModifierInit._convertInherit(globalObject, obj, ret, { context });
  7. {
  8. const key = "changedTouches";
  9. let value = obj === undefined || obj === null ? undefined : obj[key];
  10. if (value !== undefined) {
  11. if (!utils.isObject(value)) {
  12. throw new globalObject.TypeError(context + " has member 'changedTouches' that" + " is not an iterable object.");
  13. } else {
  14. const V = [];
  15. const tmp = value;
  16. for (let nextItem of tmp) {
  17. nextItem = utils.tryImplForWrapper(nextItem);
  18. V.push(nextItem);
  19. }
  20. value = V;
  21. }
  22. ret[key] = value;
  23. } else {
  24. ret[key] = [];
  25. }
  26. }
  27. {
  28. const key = "targetTouches";
  29. let value = obj === undefined || obj === null ? undefined : obj[key];
  30. if (value !== undefined) {
  31. if (!utils.isObject(value)) {
  32. throw new globalObject.TypeError(context + " has member 'targetTouches' that" + " is not an iterable object.");
  33. } else {
  34. const V = [];
  35. const tmp = value;
  36. for (let nextItem of tmp) {
  37. nextItem = utils.tryImplForWrapper(nextItem);
  38. V.push(nextItem);
  39. }
  40. value = V;
  41. }
  42. ret[key] = value;
  43. } else {
  44. ret[key] = [];
  45. }
  46. }
  47. {
  48. const key = "touches";
  49. let value = obj === undefined || obj === null ? undefined : obj[key];
  50. if (value !== undefined) {
  51. if (!utils.isObject(value)) {
  52. throw new globalObject.TypeError(context + " has member 'touches' that" + " is not an iterable object.");
  53. } else {
  54. const V = [];
  55. const tmp = value;
  56. for (let nextItem of tmp) {
  57. nextItem = utils.tryImplForWrapper(nextItem);
  58. V.push(nextItem);
  59. }
  60. value = V;
  61. }
  62. ret[key] = value;
  63. } else {
  64. ret[key] = [];
  65. }
  66. }
  67. };
  68. exports.convert = (globalObject, obj, { context = "The provided value" } = {}) => {
  69. if (obj !== undefined && typeof obj !== "object" && typeof obj !== "function") {
  70. throw new globalObject.TypeError(`${context} is not an object.`);
  71. }
  72. const ret = Object.create(null);
  73. exports._convertInherit(globalObject, obj, ret, { context });
  74. return ret;
  75. };