export interface Key<T> extends Symbol {}
-export function provide<T>(key: Key<T>, value: T | Value<T>) {
+export function provide<T>(key: Key<T> | string, value: T | Value<T>) {
if (!currentInstance) {
// TODO warn
} else {
}
}
-export function inject<T>(key: Key<T>): Value<T> | undefined {
+export function inject<T>(key: Key<T> | string): Value<T> | undefined {
if (!currentInstance) {
// TODO warn
} else {
// TODO should also check for app-level provides
const provides = currentInstance.parent && currentInstance.provides
if (provides) {
- const val = provides[key as any]
+ const val = provides[key as any] as any
return isValue(val) ? val : value(val)
}
}