Skip to content

Commit

Permalink
Use template strings to handle compact mode
Browse files Browse the repository at this point in the history
  • Loading branch information
lukastaegert committed Aug 26, 2019
1 parent 117de2f commit 8de0832
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions src/finalisers/shared/getInteropBlock.ts
Expand Up @@ -6,21 +6,23 @@ export default function getInteropBlock(
options: OutputOptions,
varOrConst: string
) {
const _ = options.compact ? '' : ' ';

return dependencies
.map(({ name, exportsNames, exportsDefault, namedExportsMode }) => {
if (!namedExportsMode) return;

if (!exportsDefault || options.interop === false) return null;
if (!namedExportsMode || !exportsDefault || options.interop === false) return null;

if (exportsNames) {
if (options.compact)
return `${varOrConst} ${name}__default='default'in ${name}?${name}['default']:${name};`;
return `${varOrConst} ${name}__default = 'default' in ${name} ? ${name}['default'] : ${name};`;
return (
`${varOrConst} ${name}__default${_}=${_}'default'${_}in ${name}${_}?` +
`${_}${name}['default']${_}:${_}${name};`
);
}

if (options.compact)
return `${name}=${name}&&${name}.hasOwnProperty('default')?${name}['default']:${name};`;
return `${name} = ${name} && ${name}.hasOwnProperty('default') ? ${name}['default'] : ${name};`;
return (
`${name}${_}=${_}${name}${_}&&${_}${name}.hasOwnProperty('default')${_}?` +
`${_}${name}['default']${_}:${_}${name};`
);
})
.filter(Boolean)
.join(options.compact ? '' : '\n');
Expand Down

0 comments on commit 8de0832

Please sign in to comment.