'Maximum call stack size exceeded in defineProperty (Document.prototype)(Javascript + Cookie + Vue )

I am trying to get and set Cookie change in Javascript.

onMounted( async () => {
   const expando = ref('_cookie');
   const nativeCookieDesc: any = 
   ref(Object.getOwnPropertyDescriptor(Document.prototype, 'cookie'));
   Object.defineProperty(Document.prototype, expando.value, 
   nativeCookieDesc.value)
   Object.defineProperty(Document.prototype, 'cookie', {
      enumerable: true,
      configurable: true,
      get() {
        return this[expando.value];
      },
      async set(value) {
        try {
           this[expando.value] = value;
           return;
        } catch {
          //
        }
     }
   })
}

But I am getting an error "Maximum call stack size exceeded" at this[expando.value].

Maybe I use Document.prototype should this error. Thanks for help



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source