yanzhen-design-vue
Version:
61 lines (60 loc) • 2.32 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const utils = require("@yanzhen-libs/utils");
const core = require("@yanzhen-lowcode/core");
const lodashEs = require("lodash-es");
require("./constants/index.cjs");
const version = require("./version.cjs");
require("./components/index.cjs");
const key = require("./constants/key.cjs");
const useGlobalConfig = require("./components/config-provider/src/hooks/use-global-config.cjs");
const schema = require("./constants/schema.cjs");
const schema$1 = require("./components/text-preview/schema.cjs");
function makeInstaller({ components = [], schemas }, extra) {
const install = (app, inject, options) => {
let flags;
switch (inject) {
case "component":
case false:
flags = ["component"];
break;
case "schema":
flags = ["schema"];
break;
default:
flags = ["component", "schema"];
}
if (flags.includes("component") && !app[key.INSTALLED_KEY]) {
app[key.INSTALLED_KEY] = true;
components.forEach((c) => app.use(c));
if (options) useGlobalConfig.provideGlobalConfig(options, app, true);
}
if (!utils.isEmptyArray(schemas) && flags.includes("schema") && !app[key.INSTALLED_SCHEMA_KEY]) {
app[key.INSTALLED_SCHEMA_KEY] = true;
core.createApp(app, options);
const _schemas = {};
schemas.forEach((schema$2) => {
app.use(schema$2);
const name = schema$2 == null ? void 0 : schema$2.name;
if (name && schema.FORM_SCHEMA_NAMES.includes(name)) {
const flag = Object.values(schema$2).some((value) => {
return lodashEs.isString(value == null ? void 0 : value.name) ? lodashEs.camelCase(value == null ? void 0 : value.name) === lodashEs.camelCase(`preview-${name}`) : false;
});
if (!flag) {
const options2 = lodashEs.omit(schema$2, "name", "component", "install");
const _name = `preview-${name}`;
const _schema = core.withInstall(schema$1.defineTextPreviewComponent(_name, options2));
app.use(_schema);
_schemas[_name] = _schema;
}
}
});
}
};
return {
version: version.version,
install,
...extra ?? {}
};
}
exports.makeInstaller = makeInstaller;