提交 c7168fba 作者: 方治民

refactor(util): 重构 VueTypes 过期写法

上级 263e8521
import type { VueTypesDefaults } from 'vue-types/dist/types'
import { CSSProperties, VNodeChild } from 'vue' import { CSSProperties, VNodeChild } from 'vue'
import { createTypes, VueTypeValidableDef, VueTypesInterface } from 'vue-types' import VueTypes, { VueTypeValidableDef, toValidableType } from 'vue-types'
export type VueNode = VNodeChild | JSX.Element export type VueNode = VNodeChild | JSX.Element
type PropTypes = VueTypesInterface & { VueTypes.sensibleDefaults = {
readonly style: VueTypeValidableDef<CSSProperties> ...(VueTypes.sensibleDefaults as Partial<VueTypesDefaults>),
readonly VNodeChild: VueTypeValidableDef<VueNode>
// readonly trueBool: VueTypeValidableDef<boolean>;
}
const propTypes = createTypes({
func: undefined, func: undefined,
bool: undefined, bool: undefined,
string: undefined, string: undefined,
number: undefined, number: undefined,
object: undefined, object: undefined,
integer: undefined, integer: undefined,
}) as PropTypes }
class PropTypes extends VueTypes {
static get style(): VueTypeValidableDef<CSSProperties> {
return toValidableType('style', {
type: [String, Object],
default: undefined,
})
}
static get VNodeChild(): VueTypeValidableDef<VueNode> {
return toValidableType('VNodeChild', {
type: undefined,
})
}
}
propTypes.extend([ export { PropTypes as propTypes }
{
name: 'style',
getter: true,
type: [String, Object],
default: undefined,
},
{
name: 'VNodeChild',
getter: true,
type: undefined,
},
])
export { propTypes }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论