ScrollIntoViewOptions.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. "use strict";
  2. const conversions = require("webidl-conversions");
  3. const utils = require("./utils.js");
  4. const ScrollLogicalPosition = require("./ScrollLogicalPosition.js");
  5. const ScrollOptions = require("./ScrollOptions.js");
  6. exports._convertInherit = (globalObject, obj, ret, { context = "The provided value" } = {}) => {
  7. ScrollOptions._convertInherit(globalObject, obj, ret, { context });
  8. {
  9. const key = "block";
  10. let value = obj === undefined || obj === null ? undefined : obj[key];
  11. if (value !== undefined) {
  12. value = ScrollLogicalPosition.convert(globalObject, value, { context: context + " has member 'block' that" });
  13. ret[key] = value;
  14. } else {
  15. ret[key] = "start";
  16. }
  17. }
  18. {
  19. const key = "inline";
  20. let value = obj === undefined || obj === null ? undefined : obj[key];
  21. if (value !== undefined) {
  22. value = ScrollLogicalPosition.convert(globalObject, value, { context: context + " has member 'inline' that" });
  23. ret[key] = value;
  24. } else {
  25. ret[key] = "nearest";
  26. }
  27. }
  28. };
  29. exports.convert = (globalObject, obj, { context = "The provided value" } = {}) => {
  30. if (obj !== undefined && typeof obj !== "object" && typeof obj !== "function") {
  31. throw new globalObject.TypeError(`${context} is not an object.`);
  32. }
  33. const ret = Object.create(null);
  34. exports._convertInherit(globalObject, obj, ret, { context });
  35. return ret;
  36. };