UNPKG

@tplc/wot

Version:

52 lines (41 loc) 1.02 kB
import type { PropType } from 'vue' export const unknownProp = null as unknown as PropType<unknown> export const numericProp = [Number, String] export const truthProp = { type: Boolean, default: true as const, } export const makeRequiredProp = <T>(type: T) => ({ type, required: true as const, }) export const makeArrayProp = <T>() => ({ type: Array as PropType<T[]>, default: () => [], }) export const makeBooleanProp = <T>(defaultVal: T) => ({ type: Boolean, default: defaultVal, }) export const makeNumberProp = <T>(defaultVal: T) => ({ type: Number, default: defaultVal, }) export const makeNumericProp = <T>(defaultVal: T) => ({ type: numericProp, default: defaultVal, }) export const makeStringProp = <T>(defaultVal: T) => ({ type: String as unknown as PropType<T>, default: defaultVal, }) export const baseProps = { /** * 自定义根节点样式 */ customStyle: makeStringProp(''), /** * 自定义根节点样式类 */ customClass: makeStringProp(''), }