CSSStyleSheetInit.js 1.7 KB

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