1 | export default function getExportBlock ( entryModule, exportMode, mechanism = 'return' ) {
|
2 | if ( exportMode === 'default' ) {
|
3 | return `${mechanism} ${entryModule.traceExport( 'default' ).render( false )};`;
|
4 | }
|
5 |
|
6 | return entryModule.getExports()
|
7 | .map( name => {
|
8 | const prop = name === 'default' ? `['default']` : `.${name}`;
|
9 | const declaration = entryModule.traceExport( name );
|
10 |
|
11 | const lhs = `exports${prop}`;
|
12 | const rhs = declaration.render( false );
|
13 |
|
14 |
|
15 | if ( lhs === rhs ) return null;
|
16 |
|
17 | return `${lhs} = ${rhs};`;
|
18 | })
|
19 | .filter( Boolean )
|
20 | .join( '\n' );
|
21 | }
|