1
0
mirror of https://github.com/bobwen-dev/react-templates synced 2025-04-12 00:56:39 +02:00

refactor import cases in reactSupport to use _.cond pattern matching

This commit is contained in:
Omer Ganim 2016-05-15 15:09:37 +03:00
parent 245c388a1b
commit 3913453642

View File

@ -55,34 +55,24 @@ const templates = {
jsrt: templateJSRTTemplate jsrt: templateJSRTTemplate
}; };
function buildImportTypeScript(d) { /* eslint-disable no-else-return */ const isImportAsterisk = _.matches({member: '*'});
if (d.member === '*') { const defaultCase = _.constant(true);
return `import ${d.alias} = require('${d.moduleName}');`;
} else {
return `import ${d.alias} = require('${d.moduleName}').${d.member};`;
}
/* eslint-enable */
}
function buildImportES6(d) { /* eslint-disable no-else-return */ const buildImportTypeScript = _.cond([
if (d.member === '*') { [isImportAsterisk, d => `import ${d.alias} = require('${d.moduleName}');`],
return `import * as ${d.alias} from '${d.moduleName}';`; [defaultCase, d => `import ${d.alias} = require('${d.moduleName}').${d.member};`]
} else if (d.member === 'default') { ]);
return `import ${d.alias} from '${d.moduleName}';`;
} else {
return `import { ${d.member} as ${d.alias} } from '${d.moduleName}';`;
}
/* eslint-enable */
}
function buildImportCommonJS(d) { /* eslint-disable no-else-return */ const buildImportES6 = _.cond([
if (d.member === '*') { [isImportAsterisk, d => `import * as ${d.alias} from '${d.moduleName}';`],
return `var ${d.alias} = require('${d.moduleName}');`; [_.matches({member: 'default'}), d => `import ${d.alias} from '${d.moduleName}';`],
} else { [defaultCase, d => `import { ${d.member} as ${d.alias} } from '${d.moduleName}';`]
return `var ${d.alias} = require('${d.moduleName}').${d.member};`; ]);
}
/* eslint-enable */ const buildImportCommonJS = _.cond([
} [isImportAsterisk, d => `var ${d.alias} = require('${d.moduleName}');`],
[defaultCase, d => `var ${d.alias} = require('${d.moduleName}').${d.member};`]
]);
const buildImport = { const buildImport = {
typescript: buildImportTypeScript, typescript: buildImportTypeScript,