|
|
@ -1,5 +1,10 @@ |
|
|
|
import { CSSProperties, VNodeChild } from "vue"; |
|
|
|
import { createTypes, VueTypeValidableDef, VueTypesInterface } from "vue-types"; |
|
|
|
import type { CSSProperties, VNodeChild } from "vue"; |
|
|
|
import { |
|
|
|
createTypes, |
|
|
|
toValidableType, |
|
|
|
VueTypesInterface, |
|
|
|
VueTypeValidableDef |
|
|
|
} from "vue-types"; |
|
|
|
|
|
|
|
export type VueNode = VNodeChild | JSX.Element; |
|
|
|
|
|
|
@ -8,7 +13,7 @@ type PropTypes = VueTypesInterface & { |
|
|
|
readonly VNodeChild: VueTypeValidableDef<VueNode>; |
|
|
|
}; |
|
|
|
|
|
|
|
const propTypes = createTypes({ |
|
|
|
const newPropTypes = createTypes({ |
|
|
|
func: undefined, |
|
|
|
bool: undefined, |
|
|
|
string: undefined, |
|
|
@ -17,18 +22,18 @@ const propTypes = createTypes({ |
|
|
|
integer: undefined |
|
|
|
}) as PropTypes; |
|
|
|
|
|
|
|
propTypes.extend([ |
|
|
|
{ |
|
|
|
name: "style", |
|
|
|
getter: true, |
|
|
|
type: [String, Object], |
|
|
|
default: undefined |
|
|
|
}, |
|
|
|
{ |
|
|
|
name: "VNodeChild", |
|
|
|
getter: true, |
|
|
|
type: undefined |
|
|
|
// 从 vue-types v5.0 开始,extend()方法已经废弃,当前已改为官方推荐的ES6+方法 https://dwightjack.github.io/vue-types/advanced/extending-vue-types.html#the-extend-method
|
|
|
|
export default class propTypes extends newPropTypes { |
|
|
|
// a native-like validator that supports the `.validable` method
|
|
|
|
static get style() { |
|
|
|
return toValidableType("style", { |
|
|
|
type: [String, Object] |
|
|
|
}); |
|
|
|
} |
|
|
|
]); |
|
|
|
|
|
|
|
export { propTypes }; |
|
|
|
static get VNodeChild() { |
|
|
|
return toValidableType("VNodeChild", { |
|
|
|
type: undefined |
|
|
|
}); |
|
|
|
} |
|
|
|
} |