Как превратить Прокси-сервер ES6 обратно в обычный объект (POJO)? - PullRequest
0 голосов
/ 01 ноября 2018

Я использую библиотеку, которая превращает вещи в прокси-объекты ES6, и другую библиотеку, которая, я думаю, задыхается, потому что я передаю ей одну из них (мой код - пародия, я знаю), и я не мог выяснить, как разблокировать прокси-объект.

Но я просто тупой. Прокси может делать все что угодно! (Отвечая на мой вопрос ниже ...)

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Я нахожу взломать. В моем случае я не могу контролировать создание прокси (наблюдаемые значения mobx). Итак, решение:

JSON.parse(JSON.stringify(your.object))
0 голосов
/ 01 ноября 2018
pp = new Proxy(
   {a:1},
   {
      get: function(target, prop, receiver) { 
             if(prop==='target') return target 
           }
   }
)

Но это будет работать, только если вы сможете контролировать создание прокси. Оказывается, еще проще:

pojo = Object.assign({}, proxyObj) // won't unwrap nested proxies though
...