yanzhen-design-vue
Version:
37 lines (36 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const utilsVue = require("@yanzhen-libs/utils-vue");
const utils = require("@yanzhen-libs/utils");
const lodashEs = require("lodash-es");
function optionProp() {
return utilsVue.buildProp({
type: utilsVue.definePropType(Array)
});
}
function optionKeyProp(key, values) {
return utilsVue.buildProp({
type: utilsVue.definePropType(String),
values,
default: key
});
}
function optionKeyProps(keys) {
const types = utils.isEmptyArray(keys) ? utilsVue.optionType : lodashEs.uniq(keys.concat(utilsVue.optionType));
return types.reduce((prev, key) => {
prev[`${key}Key`] = optionKeyProp(key, [...keys ?? []]);
return prev;
}, {});
}
function optionsProps(keys) {
const keyProps = optionKeyProps(utils.isEmptyArray(keys) ? [] : keys);
const props = {
options: optionProp(),
...keyProps
};
return utilsVue.buildProps(props);
}
exports.optionKeyProp = optionKeyProp;
exports.optionKeyProps = optionKeyProps;
exports.optionProp = optionProp;
exports.optionsProps = optionsProps;