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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 |
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13 | 'use strict'
import {
leftCurryTwice,
identity,
compose,
partial,
resolveDeps,
invoke,
instanciate,
singletonify,
generateMask
} from './utils'
import {
VALUE,
PROVIDER,
CONSTRUCTOR,
SINGLETON,
FUNCTION,
INSTANCE,
PERSISTENT,
TRANSIENT,
LAZY,
EAGER
} from './options'
var resolvers = {}
resolvers[ generateMask([VALUE]) ] = compose(leftCurryTwice, resolveDeps)(identity)
resolvers[ generateMask([FUNCTION]) ] = compose(leftCurryTwice, resolveDeps)(partial)
resolvers[ generateMask([CONSTRUCTOR]) ] = compose(leftCurryTwice, resolveDeps)(instanciate)
resolvers[ generateMask([PROVIDER]) ] = compose(leftCurryTwice, resolveDeps)(invoke)
resolvers[ generateMask([TRANSIENT, SINGLETON, PROVIDER]) ] = singletonify(invoke)
resolvers[ generateMask([TRANSIENT, CONSTRUCTOR, SINGLETON]) ] = singletonify(instanciate)
resolvers[ generateMask([LAZY, SINGLETON, PROVIDER]) ] = singletonify(invoke, true)
resolvers[ generateMask([LAZY, SINGLETON, CONSTRUCTOR]) ] = singletonify(instanciate, true)
resolvers[ generateMask([EAGER, SINGLETON, PROVIDER])] = singletonify(invoke, true)
resolvers[ generateMask([EAGER, SINGLETON, CONSTRUCTOR]) ] = singletonify(instanciate, true)
// aliases
resolvers[ generateMask([INSTANCE]) ] = resolvers[ generateMask([VALUE]) ]
// backward compatibility
resolvers[ generateMask([PERSISTENT, SINGLETON, PROVIDER]) ] = resolvers[ generateMask([LAZY, SINGLETON, PROVIDER]) ]
resolvers[ generateMask([PERSISTENT, CONSTRUCTOR, SINGLETON]) ] = resolvers[ generateMask([LAZY, CONSTRUCTOR, SINGLETON]) ]
export default resolvers |