Как проверить, что мы уже создали прокси на объекте, используя ObservableSlim? - PullRequest
0 голосов
/ 12 апреля 2019

Я использую ObservableSlim для создания прокси.

Метод create ObservableSlip вернет стандартный прокси-сервер ES6.

Я создал прокси для объекта, подобного этому:

const proxy = ObservableSlim.create(model, null, (changes) => {});

Проблема:

Как я узнаю, что proxy является ES6 Proxy ?

Ответы [ 2 ]

1 голос
/ 12 апреля 2019

Как указано здесь , это невозможно в общем случае (по крайней мере, без грязных хаков), потому что Proxy объекты по своей конструкции прозрачны и имитируют свои цели при каждом системном вызове.

Однако авторы библиотек понимают, что это иногда может быть неудобно, и предоставляют хуки в своих прокси-объектах, чтобы пользователь мог их обнаружить. Для рассматриваемой библиотеки возвращаемый прокси-сервер предоставляет свойство __isProxy для этой конкретной цели.

1 голос
/ 12 апреля 2019

Вы не можете с точки зрения кодов, поскольку прокси полностью прозрачны.

Единственный, кто знает, что это прокси, это консоль:

 console.log(proxy);
...