"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getTmpFile = void 0; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } var _getProviderContent = _interopRequireDefault(require("./getProviderContent")); var _getUseModelContent = _interopRequireDefault(require("./getUseModelContent")); function _os() { const data = require("os"); _os = function _os() { return data; }; return data; } function _umi() { const data = require("umi"); _umi = function _umi() { return data; }; return data; } var _ = require("."); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const winPath = _umi().utils.winPath; function getModels(files, absSrcPath) { const sortedModels = (0, _.genModels)(files, absSrcPath); return sortedModels.map(ele => `'${ele.namespace.replace(/'/g, "\\'")}': ${ele.importName}`).join(', '); } function getExtraModels(models = [], absSrcPath) { const extraModels = (0, _.genExtraModels)(models, absSrcPath); return extraModels.map(ele => `'${ele.namespace}': ${ele.exportName || ele.importName}`).join(', '); } function getExtraImports(models = [], absSrcPath) { const extraModels = (0, _.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(_os().EOL); } const getTmpFile = (files, extra = [], absSrcPath) => { const imports = (0, _.genImports)(files); const userModels = getModels(files, absSrcPath); const extraImports = getExtraImports(extra, absSrcPath); const extraModels = getExtraModels(extra, absSrcPath); const enable = Boolean(imports || extraImports); return { providerContent: (0, _getProviderContent.default)(imports, userModels, extraImports, extraModels), useModelContent: enable ? (0, _getUseModelContent.default)() : 'export const useModel = undefined;' }; }; exports.getTmpFile = getTmpFile;