utilizando el operador de extensión `…` en javascript es6 llamado exports

Estoy intentando importar todo de una biblioteca como un hash, modificarlo y volver a exportar el hash modificado, sin conocer todas las exportaciones nombradas en una biblioteca. Por ejemplo:

import * as reactBootstrap from 'react-bootstrap'; wrappedReactBootstrap = doFunnyThingsTo(reactBootstrap); export { ...wrappedReactBootstrap }; // or export wrappedReactBootstrap; 

Mi comprensión de https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export es que la especificación no permite lo siguiente. ¿Alguien podría confirmar?

Obviamente, el bucle no es posible, ya que las declaraciones de export e import deben ser de primer nivel.

La extensión de reposo de object es una propuesta de etapa 3 y no una parte de ninguna especificación (probablemente se includeá en ES2018).

Más importante aún, export tiene una syntax que imita la syntax JS existente pero no interpreta { ... } como una expresión. export syntax de export se definió estrictamente porque se supone que los modules ES2015 deben analizarse estáticamente. Este es uno de sus beneficios, pero requiere que el desarrollador especifique exportaciones e importaciones explícitamente.

Dado que { ...wrappedReactBootstrap } introduce la export dinámica (se usó aquí exactamente para este propósito), no es compatible con la export module ES2015 y es muy poco probable que lo sea.

Si es necesario proporcionar un comportamiento dynamic para la export, se puede exportar e importar como nombre o como object pnetworkingeterminado.

 import * as reactBootstrap from 'react-bootstrap'; export default doFunnyThingsTo(reactBootstrap); 

Y usado como

 import wrappedReactBootstrap from '...'; const { funny, thing } = wrappedReactBootstrap; 

Obviamente, el object wrappedReactBootstrap no obtendrá los beneficios de los modules ES2015 de esta manera, p. Ej. Tree Shaking.