Comparing version 1.0.8 to 1.0.9
{ | ||
"name": "rsdi", | ||
"version": "1.0.8", | ||
"version": "1.0.9", | ||
"description": "dependency injection container", | ||
@@ -5,0 +5,0 @@ "scripts": { |
@@ -156,3 +156,4 @@ # Dependency Injection Container | ||
In most scenarios, following approach will work. | ||
The following approach will work in most scenarios. | ||
```typescript | ||
@@ -187,42 +188,4 @@ | ||
// main.ts | ||
const userRepository = configureDI().get<UserRepository>("UserRepository"); | ||
const diContainer = await configureDI(); | ||
const userRepository = diContainer.get<UserRepository>("UserRepository"); | ||
``` | ||
If you still want to use lazy initialization, we advise you to resolve promises inside your classes. | ||
```typescript | ||
// UserRepository.ts | ||
class UserRepository { | ||
private dbConnection: any; | ||
public constructor(private readonly dbConnectionPromise: any) {} | ||
async init() { | ||
this.dbConnection = await this.dbConnectionPromise; | ||
} | ||
async findUser() { | ||
await this.init(); | ||
return await this.dbConnection.find(...) | ||
} | ||
} | ||
// index.ts | ||
import { createConnections } from "my-orm-library"; | ||
import DIContainer, { factory, IDIContainer } from "rsdi"; | ||
const container = new DIContainer(); | ||
container.addDefinitions({ | ||
"DbConnection": factory((container: IDIContainer) => { | ||
// return Promise{<pending>} instead of await createConnection() | ||
return createConnections([{ | ||
username: container.get("DB_USERNAME"), | ||
// ... | ||
}]) | ||
}), | ||
"UserRepository": object(UserRepository).construct( | ||
get("DbConnection") | ||
) | ||
}); | ||
const userRepository = container.get<UserRepository>("UserRepository"); | ||
``` |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
35519
190