vendors/mem.js/memDecorator
function memDecorator(options = {}) {
  const instanceMap = /* @__PURE__ */ new WeakMap();
  return (target, propertyKey, descriptor) => {
    const input = target[propertyKey];
    if (typeof input !== "function") {
      throw new TypeError("The decorated value must be a function");
    }
    delete descriptor.value;
    delete descriptor.writable;
    descriptor.get = function() {
      if (!instanceMap.has(this)) {
        const value = mem(input, options);
        instanceMap.set(this, value);
        return value;
      }
      return instanceMap.get(this);
    };
  };
}