Описание тега es6-proxy
Прокси-сервер ES2015 обертывает другой объект и обеспечивает настраиваемое поведение для основных операций (таких как доступ к свойствам). Сценарии использования включают предоставление значений по умолчанию для неопределенных свойств, проверку действий набора и настройку способа итерации объектов.
2
ответа
Использовать прокси ES6 для перехвата Object.hasOwnProperty
Я хочу использовать прокси ES6, чтобы перехватить следующий общий код: for (let key in trapped) { if (!Object.prototype.hasOwnProperty.call(obj, key)) continue; let value = trapped[key]; //various code } Но после просмотра документации прокси я не у…
06 ноя '16 в 16:30
1
ответ
lodash cloneDeep удалить прокси с объекта
Когда я глубоко клонирую прокси-объект, он возвращает обычный объект без прокси. но я хочу прокси-объект, когда я глубоко клонировать объект. EX: class Abc { constructor() { this.a = 4; return new Proxy(this, { get(target, name) { return target[name…
03 июн '18 в 06:17
1
ответ
Индекс прокси преобразуется в строку
Испытывая новые объекты Proxy, я удивляюсь, что при установке прокси ключ автоматически преобразуется в строку: var arr = ['a', 'b', 'c']; arr = new Proxy(arr, { get: (original, key) => { alert(typeof key); return original[key]; } }); arr[1]; // …
05 окт '16 в 17:14
1
ответ
Javascript ES6 Proxy
Мне нужно создать объект, который хранит другие объекты. Каждое свойство большого объекта имеет два свойства: value и callback. let bigObj = { first: { value: true, callback: () => {} }, second: { value: false, callback: () => {} }, {...} } Я …
05 окт '17 в 21:04
1
ответ
Как проксировать пользовательский элемент (веб-компонент)
class A extends HTMLElement { constructor() { super() return new Proxy(this, {}) } } class B extends A { constructor() { super() } } window.customElements.define('b-element', B) <b-element></b-element> Как я могу Proxy пользовательский …
08 апр '17 в 20:38
3
ответа
Array.prototype.forEach() не работает при вызове прокси с обработчиком get
У меня есть следующий прокси: const p = new Proxy({ [Symbol.iterator]: Array.prototype.values, forEach: Array.prototype.forEach, }, { get(target, property) { if (property === '0') return 'one'; if (property === '1') return 'two'; if (property === 'l…
03 ноя '16 в 18:35
1
ответ
undefined возвращается при использовании identity-obj-proxy с машинописным шрифтом с помощью jest
Я использую шутку с машинописью в моих проектах. Я получаю undefined для всех моих файлов.ts, используя identity-obj-proxy, но файлы.js работают как положено. Это мой tsconfig.json: { "compilerOptions": { "target": "es5", "forceConsistentCasingInFil…
15 окт '18 в 10:47
1
ответ
Проксирование рекурсивной функции
Представьте себе простую рекурсивную функцию, которую мы пытаемся обернуть для ввода и вывода инструментов. // A simple recursive function. const count = n => n && 1 + count(n-1); // Wrap a function in a proxy to instrument input and outp…
05 янв '17 в 06:01
2
ответа
Как использовать прокси для просмотра, если переменная (больше не) неопределена
Пожалуйста, прости мою n00bility... Я пытаюсь использовать прокси для выполнения некоторого кода после того, как глобальный этап var больше не является неопределенным. Вот моя наивная попытка: `` ` var stage = undefined let myObj; let st = { stage: …
17 апр '18 в 10:47
2
ответа
Как обернуть объект с помощью прокси внутри конструктора?
Я это понимаю Proxy может использоваться для изменения поведения на уровне объекта, например, при получении и установке скобочных обозначений. Все примеры, которые я могу найти, показывают, как построить объект, а затем обернуть его Proxy вызов. Ест…
04 июл '18 в 16:01
0
ответов
ES6 Вложенный прокси для получения на замороженном объекте
Я пытаюсь глубоко прокси свойства замороженного объекта: const a = Object.freeze([{ prop: 1 }]) const proxy = new Proxy(a, { get(target, property) { return new Proxy(target[property], {}); } }) console.log(proxy[0]) Это приводит к ошибке типа: TypeE…
11 июн '17 в 05:03
1
ответ
handlet.set в ES6 Возвращаемое значение прокси
В этом коде function report(message) { console.log(message); } function makeLoggable(target) { return new Proxy(target, { get(target, property) { report(`Reading ${property}`); const param = target; return param[property]; }, set(target, property, v…
28 ноя '16 в 20:00
1
ответ
Отказ от ввода массива с помощью JS Proxy
Я хочу создать массив, который принимает только определенный тип экземпляра для хранения. Похоже, лучшим решением было использование прокси, вдохновленных этой сущностью и SO потоком. Итак, у меня работает прокси, и для базовых функций массива он ра…
17 дек '16 в 13:39
1
ответ
ES6 Proxy регистрирует необъяснимое дополнительное значение
До сих пор я понимал прокси-серверы ES6 как способ добавления перехватов, чтобы позволить вам добавить пользовательское поведение в ваш код. Реализован этот фрагмент кода для перехвата толчка в массив, но он регистрирует дополнительные "захваченные"…
04 янв '18 в 12:42
1
ответ
Proxy Getting RangeError
Я пытаюсь перехватить операции получения и установки с использованием прокси. Настройка работает отлично, но получает триггеры "RangeError: Превышен максимальный размер стека вызовов" в бесконечном цикле. Я пытаюсь просто войти во время перехвата и …
26 мар '16 в 00:37
0
ответов
Параметр приемника не работает в прокси javascript
Я использую прокси javascript для защиты объекта, я проверяю, есть ли у получателя свойство пароля, соответствующее строке. Однако, когда я запускаю этот код, я получаю сообщение об ошибке "Превышен максимальный размер стека вызовов". Он прекрасно р…
20 янв '19 в 18:16
3
ответа
Как получить удаленный или вставленный элемент из массива прокси?
Я пытаюсь обнаружить изменения в массиве объектов, используя прокси JavaScript. Проблема: Каждый раз, когда происходит изменение в массиве, например, удаление или вставка, я хочу получить этот удаленный или вставленный элемент. Текущий код target = …
28 фев '19 в 10:57
1
ответ
Превышен StackSize - пытается создать API
Я пытаюсь создать динамический API, используя TypeScript и прокси ES6 поверх NodeJ. Я реализовал API, но после небольшого тестирования я обнаружил, что превышаю размер стека. Даже если я попытаюсь с --stack-size, установленным в 16000, но он все рав…
22 окт '17 в 13:50
0
ответов
Создать универсальный обработчик для любой функции
Я хочу создать универсальный обработчик для любой функции на моем объекте: let obj = {}; let handler = function(param) { return 'hello ' + param; } У меня нет функции, определенной в obj (это = {}). Как-то я хочу, чтобы любой вызов свойства в obj вы…
31 окт '16 в 14:31
0
ответов
Как я должен изменить свой код на функцию генератора цепей, используя прокси ES6?
Последние пару дней я тратил много часов, чтобы заставить мой код работать, но я не могу заставить его работать!! Я пытаюсь создать цепочку функций генератора, как показано ниже, с помощью прокси-сервера es6. Кажется, что я могу добавить эти функции…
14 апр '18 в 07:39