InversifyJS
InversifyJS copied to clipboard
TypeError: undefined is not an object (evaluating 'v.name')
"inversify": "^5.0.5",
"inversify-inject-decorators": "^3.1.0",
When using lazyInject decorator the following error occurs:
TypeError: undefined is not an object (evaluating 'v.name')
Generating decorators:
import { Container } from 'inversify'
import getDecorators from 'inversify-inject-decorators'
import { ApiClientBuilder } from './common'
import { AppDependencies } from './dependencies'
const appContainer = new Container({ skipBaseClassChecks: true })
AppContainer
.bind<ApiClientBuilder>(AppDependencies.Common.ApiClientBuilder)
.to(ApiClientBuilder)
const { lazyInject, lazyInjectNamed, lazyInjectTagged, lazyMultiInject } = getDecorators(appContainer, true)
export { appContainer, lazyInject, lazyInjectNamed, lazyInjectTagged, lazyMultiInject }
AppContainer.bind<AppAuthFeature.AppAuthRepository>(AppDependencies.AppAuth.Repository)
.to(AppAuthRepository)
.inSingletonScope()
const a = appContainer.get(AppDependencies.Common.ApiClientBuilder)
export default class ApiClientBuilder {
private requestInterceptors = []
private retryConfig = null
@lazyInject(AppDependencies.AppAuth.Repository)
private appAuthRepository: AppAuthFeature.AppAuthRepository
}
Looks like you forgot to install or import reflect-metadata package.
@AndreiBelokopytov nope.
same problem, and i see not working demo: repo: https://github.com/tswistak/react-inversify-inject-decorators-example live: https://codesandbox.io/s/8km1zyvy70