Показать сообщение отдельно
  #23 (permalink)  
Старый 06.12.2021, 07:19
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,518

Дык, всё в туду списке указано.
1. Решается обработкой по порядку, т.е. напишешь так:
voraa,
[
{par2: isArray},
{par1: isObject, 'par2?': isArray}
]
И если первое прошло, на второе не пойдёт. Там чутка поправить надо, убрать flatmap и добавить ещё один цикл.)
Ну и isPlainObject.

2. Кэширование. Как в рамках одного вызова, так и в рамках всех вызовов в таске.

Ну и 50 раз оверхед над пустой функцией не особо страшен, потому что он статичен. Возьми функцию по-тяжелее и процент оверхеда уменьшится.)

А для особо критичных ситуаций - надо предусмотреть возможность вызова оригинальной функции.

3. super и не будет работать в функциях, а если ты обернёшь метод и положишь его обратно - всё будет норм.
__________________
29375, 35

Последний раз редактировалось Aetae, 06.12.2021 в 07:28.
Ответить с цитированием