mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-08-21 12:40:01 +08:00
54 lines
1.5 KiB
JavaScript
54 lines
1.5 KiB
JavaScript
import { EOL } from 'os';
|
|
import { winPath } from '@fesjs/utils';
|
|
import {
|
|
genImports, genModels, genExtraModels
|
|
} from './index';
|
|
|
|
function getModels(files, absSrcPath) {
|
|
const sortedModels = genModels(files, absSrcPath);
|
|
return sortedModels
|
|
.map(ele => `'${ele.namespace.replace(/'/g, "\\'")}': ${ele.importName}`)
|
|
.join(', ');
|
|
}
|
|
|
|
function getExtraModels(models = [], absSrcPath) {
|
|
const extraModels = genExtraModels(models, absSrcPath);
|
|
return extraModels
|
|
.map(ele => `'${ele.namespace}': ${ele.exportName || ele.importName}`)
|
|
.join(', ');
|
|
}
|
|
|
|
function getExtraImports(models = [], absSrcPath) {
|
|
const extraModels = genExtraModels(models, absSrcPath);
|
|
return extraModels
|
|
.map((ele) => {
|
|
if (ele.exportName) {
|
|
return `import { ${ele.exportName} } from '${winPath(
|
|
ele.importPath.replace(/'/g, "\\'")
|
|
)}';`;
|
|
}
|
|
return `import ${ele.importName} from '${winPath(
|
|
ele.importPath.replace(/'/g, "\\'")
|
|
)}';`;
|
|
})
|
|
.join(EOL);
|
|
}
|
|
|
|
export const getTmpFile = (
|
|
files,
|
|
extra = [],
|
|
absSrcPath
|
|
) => {
|
|
const userImports = genImports(files);
|
|
const userModels = getModels(files, absSrcPath);
|
|
const extraImports = getExtraImports(extra, absSrcPath);
|
|
const extraModels = getExtraModels(extra, absSrcPath);
|
|
|
|
return {
|
|
userImports,
|
|
userModels,
|
|
extraImports,
|
|
extraModels
|
|
};
|
|
};
|