UNPKG

yanzhen-design-vue

Version:

37 lines (36 loc) 1.11 kB
"use strict"; 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;