mirror of https://github.com/vuejs/core.git
fix(compile-sfc): support `Error` type in `defineProps` (#5955)
This commit is contained in:
parent
72fdafa0cf
commit
a9893458ec
|
@ -232,6 +232,7 @@ export default /*#__PURE__*/_defineComponent({
|
||||||
alias: { type: Array, required: true },
|
alias: { type: Array, required: true },
|
||||||
method: { type: Function, required: true },
|
method: { type: Function, required: true },
|
||||||
symbol: { type: Symbol, required: true },
|
symbol: { type: Symbol, required: true },
|
||||||
|
error: { type: Error, required: true },
|
||||||
extract: { type: Number, required: true },
|
extract: { type: Number, required: true },
|
||||||
exclude: { type: [Number, Boolean], required: true },
|
exclude: { type: [Number, Boolean], required: true },
|
||||||
uppercase: { type: String, required: true },
|
uppercase: { type: String, required: true },
|
||||||
|
|
|
@ -97,6 +97,7 @@ const props = defineProps({ foo: String })
|
||||||
alias: Alias
|
alias: Alias
|
||||||
method(): void
|
method(): void
|
||||||
symbol: symbol
|
symbol: symbol
|
||||||
|
error: Error
|
||||||
extract: Extract<1 | 2 | boolean, 2>
|
extract: Extract<1 | 2 | boolean, 2>
|
||||||
exclude: Exclude<1 | 2 | boolean, 2>
|
exclude: Exclude<1 | 2 | boolean, 2>
|
||||||
uppercase: Uppercase<'foo'>
|
uppercase: Uppercase<'foo'>
|
||||||
|
@ -143,6 +144,7 @@ const props = defineProps({ foo: String })
|
||||||
expect(content).toMatch(`alias: { type: Array, required: true }`)
|
expect(content).toMatch(`alias: { type: Array, required: true }`)
|
||||||
expect(content).toMatch(`method: { type: Function, required: true }`)
|
expect(content).toMatch(`method: { type: Function, required: true }`)
|
||||||
expect(content).toMatch(`symbol: { type: Symbol, required: true }`)
|
expect(content).toMatch(`symbol: { type: Symbol, required: true }`)
|
||||||
|
expect(content).toMatch(`error: { type: Error, required: true }`)
|
||||||
expect(content).toMatch(
|
expect(content).toMatch(
|
||||||
`objectOrFn: { type: [Function, Object], required: true },`
|
`objectOrFn: { type: [Function, Object], required: true },`
|
||||||
)
|
)
|
||||||
|
@ -198,6 +200,7 @@ const props = defineProps({ foo: String })
|
||||||
alias: BindingTypes.PROPS,
|
alias: BindingTypes.PROPS,
|
||||||
method: BindingTypes.PROPS,
|
method: BindingTypes.PROPS,
|
||||||
symbol: BindingTypes.PROPS,
|
symbol: BindingTypes.PROPS,
|
||||||
|
error: BindingTypes.PROPS,
|
||||||
objectOrFn: BindingTypes.PROPS,
|
objectOrFn: BindingTypes.PROPS,
|
||||||
extract: BindingTypes.PROPS,
|
extract: BindingTypes.PROPS,
|
||||||
exclude: BindingTypes.PROPS,
|
exclude: BindingTypes.PROPS,
|
||||||
|
|
|
@ -1391,6 +1391,7 @@ export function inferRuntimeType(
|
||||||
case 'WeakMap':
|
case 'WeakMap':
|
||||||
case 'Date':
|
case 'Date':
|
||||||
case 'Promise':
|
case 'Promise':
|
||||||
|
case 'Error':
|
||||||
return [node.typeName.name]
|
return [node.typeName.name]
|
||||||
|
|
||||||
// TS built-in utility types
|
// TS built-in utility types
|
||||||
|
|
Loading…
Reference in New Issue