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