Дык, всё в туду списке указано.
1. Решается обработкой по порядку, т.е. напишешь так:
voraa,
[
{par2: isArray},
{par1: isObject, 'par2?': isArray}
]
И если первое прошло, на второе не пойдёт. Там чутка поправить надо, убрать flatmap и добавить ещё один цикл.)
Ну и isPlainObject.
2. Кэширование. Как в рамках одного вызова, так и в рамках всех вызовов в таске.
Ну и 50 раз оверхед над пустой функцией не особо страшен, потому что он статичен. Возьми функцию по-тяжелее и процент оверхеда уменьшится.)
А для особо критичных ситуаций - надо предусмотреть возможность вызова оригинальной функции.
3. super и не будет работать в функциях, а если ты обернёшь метод и положишь его обратно - всё будет норм.
__________________
29375, 35
Последний раз редактировалось Aetae, 06.12.2021 в 07:28.
|