Вот как я хочу использовать свою библиотеку:
import MyLib, { factory, fn1, fn2 } from "mylib";
console.log(MyLib, MyLib.fn1 === fn1) // { factory, fn1, fn2 } true
const MyLib2 = factory() // this just create another instance of MyLib
Вот как я бы хотел ее экспортировать
function factory() {
return {
factory, fn1, fn2
}
}
const MyLib = factory()
export default MyLib
Но вот как я на самом деле должен сделать это:
function factory() {
return {
factory, fn1, fn2
}
}
const MyLib = factory()
const { fn1, fn2 } = MyLib
export default MyLib
export { factory, fn1, fn2 }
Если я добавлю fn3, мне придется писать его в трех местах. Есть ли способ сделать экспорт менее подробным? Как и все, что возвращает фабрика, я хочу экспортировать.