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:
parent
245c388a1b
commit
3913453642
@ -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,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user