types: improve typing

This commit is contained in:
Evan You
2019-10-08 12:43:13 -04:00
parent b68eb229c7
commit 8da5b007b1
13 changed files with 42 additions and 29 deletions

View File

@@ -20,7 +20,8 @@ export function provide<T>(key: InjectionKey<T> | string, value: T) {
if (parentProvides === provides) {
provides = currentInstance.provides = Object.create(parentProvides)
}
provides[key as any] = value
// TS doesn't allow symbol as index type
provides[key as string] = value
}
}
@@ -30,7 +31,8 @@ export function inject(key: InjectionKey<any> | string, defaultValue?: any) {
if (currentInstance) {
const provides = currentInstance.provides
if (key in provides) {
return provides[key as any] as any
// TS doesn't allow symbol as index type
return provides[key as string]
} else if (defaultValue !== undefined) {
return defaultValue
} else if (__DEV__) {