MutationCallback.js 1012 B

12345678910111213141516171819202122232425262728293031323334
  1. "use strict";
  2. const conversions = require("webidl-conversions");
  3. const utils = require("./utils.js");
  4. exports.convert = (globalObject, value, { context = "The provided value" } = {}) => {
  5. if (typeof value !== "function") {
  6. throw new globalObject.TypeError(context + " is not a function");
  7. }
  8. function invokeTheCallbackFunction(mutations, observer) {
  9. const thisArg = utils.tryWrapperForImpl(this);
  10. let callResult;
  11. mutations = utils.tryWrapperForImpl(mutations);
  12. observer = utils.tryWrapperForImpl(observer);
  13. callResult = Reflect.apply(value, thisArg, [mutations, observer]);
  14. }
  15. invokeTheCallbackFunction.construct = (mutations, observer) => {
  16. mutations = utils.tryWrapperForImpl(mutations);
  17. observer = utils.tryWrapperForImpl(observer);
  18. let callResult = Reflect.construct(value, [mutations, observer]);
  19. };
  20. invokeTheCallbackFunction[utils.wrapperSymbol] = value;
  21. invokeTheCallbackFunction.objectReference = value;
  22. return invokeTheCallbackFunction;
  23. };