-
Notifications
You must be signed in to change notification settings - Fork 134
/
index.ts
30 lines (25 loc) · 888 Bytes
/
index.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// This is largely for testing, but import what we need
import { createContainer, asClass, InjectionMode } from '../../..'
import TestService from './services/TestService'
import DependentService from './services/DependentService'
interface ICradle {
testService: TestService
depService: DependentService
}
// Create the container
const container = createContainer<ICradle>({
injectionMode: InjectionMode.CLASSIC,
strict: true,
})
// Register the classes
container.register({
testService: asClass(TestService),
depService: asClass(DependentService).classic(),
})
// Resolve a dependency using the cradle.
const dep1 = container.cradle.depService
// Resolve a dependency using `resolve`
const dep2 = container.resolve<DependentService>('depService')
// Test that all is well, should produce 'Hello world!'
console.log(dep1.getInnerData())
console.log(dep2.getInnerData())