"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; function _react() { const data = _interopRequireDefault(require("react")); _react = function _react() { return data; }; return data; } function _path() { const data = require("path"); _path = function _path() { return data; }; return data; } function _umi() { const data = require("umi"); _umi = function _umi() { return data; }; return data; } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const winPath = _umi().utils.winPath; function _default(imports, userModels, extraImports, extraModels) { if (!extraImports && !imports) { return `import React from 'react'; export default ({ children }: { children: React.ReactNode }) => children `; } return `import React from 'react'; ${extraImports} ${imports} // @ts-ignore import Dispatcher from '${winPath((0, _path().join)(__dirname, '..', 'helpers', 'dispatcher'))}'; // @ts-ignore import Executor from '${winPath((0, _path().join)(__dirname, '..', 'helpers', 'executor'))}'; // @ts-ignore import { UmiContext } from '${winPath((0, _path().join)(__dirname, '..', 'helpers', 'constant'))}'; export const models = { ${extraModels ? `${extraModels}, ` : ''}${userModels} }; export type Model = { [key in keyof typeof models]: ReturnType; }; export type Models = Model[T] const dispatcher = new Dispatcher!(); const Exe = Executor!; export default ({ children }: { children: React.ReactNode }) => { return ( { Object.entries(models).map(pair => ( { const [ns] = pair as [keyof typeof models, any]; dispatcher.data[ns] = val; dispatcher.update(ns); }} /> )) } {children} ) } `; }