types(runtime-core): added `ComponentCustomProperties` type to `globalProperties` (#5389)

This commit is contained in:
nandi95 2022-10-26 10:00:47 +01:00 committed by GitHub
parent 83f7e6f8a6
commit 506a42a9a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 3 deletions

View File

@ -11,7 +11,10 @@ import {
MergedComponentOptions,
RuntimeCompilerOptions
} from './componentOptions'
import { ComponentPublicInstance } from './componentPublicInstance'
import {
ComponentCustomProperties,
ComponentPublicInstance
} from './componentPublicInstance'
import { Directive, validateDirectiveName } from './directives'
import { RootRenderFunction } from './renderer'
import { InjectionKey } from './apiInject'
@ -70,7 +73,7 @@ export interface AppConfig {
performance: boolean
optionMergeStrategies: Record<string, OptionMergeFunction>
globalProperties: Record<string, any>
globalProperties: ComponentCustomProperties & Record<string, any>
errorHandler?: (
err: unknown,
instance: ComponentPublicInstance | null,

View File

@ -6,7 +6,7 @@ declare module '@vue/runtime-core' {
}
interface ComponentCustomProperties {
state: 'stopped' | 'running'
state?: 'stopped' | 'running'
}
interface ComponentCustomProps {
@ -35,6 +35,14 @@ export const Custom = defineComponent({
expectError(this.notExisting)
this.counter++
this.state = 'running'
this.$.appContext.config.globalProperties.state = 'running'
expectError(
// @ts-expect-error
(this.$.appContext.config.globalProperties.state = 'not valid')
)
// @ts-expect-error
expectError((this.state = 'not valid'))
}