wip: remove immutability conversion in inject

This commit is contained in:
Evan You 2019-08-20 14:28:44 -04:00
parent 2a15491d1c
commit c5558b7ed1
1 changed files with 3 additions and 5 deletions

View File

@ -1,6 +1,4 @@
import { currentInstance } from './component' import { currentInstance } from './component'
import { immutable } from './apiReactivity'
import { isObject } from '@vue/shared'
export interface InjectionKey<T> extends Symbol {} export interface InjectionKey<T> extends Symbol {}
@ -31,8 +29,8 @@ export function inject(key: InjectionKey<any> | string, defaultValue?: any) {
} else { } else {
// TODO should also check for app-level provides // TODO should also check for app-level provides
const provides = currentInstance.parent && currentInstance.provides const provides = currentInstance.parent && currentInstance.provides
const val = return provides && key in provides
provides && key in provides ? (provides[key as any] as any) : defaultValue ? (provides[key as any] as any)
return __DEV__ && isObject(val) ? immutable(val) : val : defaultValue
} }
} }