У меня есть несколько экспортированных функций из модуля ES6, таких как:
export const funA = params => 'hello funA';
export const funB = params => 'hello funB';
Я бы хотел обернуть их перед экспортом:
const wrapper = params => fun => {
// some extra logic
Object.assign(params, { extra: 'data' });
return fun(params);
};
export const funA = wrapper(params => 'hello funA');
export const funB = wrapper(params => 'hello funB');
Это работает так, но я 'Интересно, можно ли определить funA
и funB
без вызова wrapper
способом, аналогичным:
import { mapValues } from 'lodash';
const wrapper = params => fun => {
// some extra logic
Object.assign(params, { extra: 'data' });
return fun(params);
};
const funA = params => 'hello funA';
const funB = params => 'hello funB';
export default mapValues({ funA, funB }, wrapper);
Проблема с приведенным выше фрагментом заключается в том, что именованные экспорты не используются.
Можно ли выполнить именованные экспорты с возможностью динамического переноса их на wrapper
связующее ПО?