@rocketmakers/ioc 0.2.6 → 0.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -20
- package/lib/binder-legacy.d.ts +9 -0
- package/lib/binder-legacy.js +26 -0
- package/lib/binder.d.ts +22 -0
- package/lib/binder.js +45 -0
- package/lib/curry.d.ts +2 -0
- package/lib/curry.js +29 -0
- package/lib/index.d.ts +46 -62
- package/lib/index.js +56 -127
- package/lib/inversify.d.ts +30 -0
- package/lib/inversify.js +64 -0
- package/lib/prefix.d.ts +17 -0
- package/lib/prefix.js +23 -0
- package/lib/tail.generated.d.ts +25 -24
- package/lib/types.d.ts +9 -0
- package/lib/{modules.js → types.js} +0 -0
- package/package.json +1 -1
- package/lib/global.d.ts +0 -9
- package/lib/global.js +0 -13
- package/lib/modules.d.ts +0 -16
package/lib/index.d.ts
CHANGED
|
@@ -1,72 +1,50 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
2
|
import { interfaces } from 'inversify';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { Binder } from './binder';
|
|
4
|
+
import { CamelPrefix, Prefix } from './prefix';
|
|
5
|
+
import { IFunctionResolver, KeysOfType, StringKeyof } from './tail.generated';
|
|
6
|
+
import { KeysNotOfType, NewableOf } from './types';
|
|
5
7
|
export * from './curry.generated';
|
|
8
|
+
export * from './inversify';
|
|
6
9
|
export declare type BindingInWhenOnSyntax<T> = interfaces.BindingInWhenOnSyntax<T>;
|
|
7
10
|
export declare const internalContainer: import("inversify/dts/container/container").Container;
|
|
8
|
-
/** Use this helper function to provide container curry functions */
|
|
11
|
+
/** @deprecated LEGACY: Use this helper function to provide container curry functions */
|
|
9
12
|
export declare function containerRegisterFunctionResolver<T>(): {
|
|
10
|
-
curry1<TFn extends (
|
|
11
|
-
curry2<TFn_1 extends (
|
|
12
|
-
curry3<TFn_2 extends (
|
|
13
|
-
curry4<TFn_3 extends (
|
|
14
|
-
curry5<TFn_4 extends (
|
|
15
|
-
curry6<TFn_5 extends (
|
|
16
|
-
curry7<TFn_6 extends (
|
|
17
|
-
curry8<TFn_7 extends (
|
|
18
|
-
curry9<TFn_8 extends (
|
|
19
|
-
curry10<TFn_9 extends (
|
|
20
|
-
curry11<TFn_10 extends (
|
|
21
|
-
curry12<TFn_11 extends (
|
|
22
|
-
curry13<TFn_12 extends (
|
|
23
|
-
curry14<TFn_13 extends (
|
|
24
|
-
curry15<TFn_14 extends (
|
|
25
|
-
curry16<TFn_15 extends (
|
|
26
|
-
curry17<TFn_16 extends (
|
|
27
|
-
curry18<TFn_17 extends (
|
|
28
|
-
curry19<TFn_18 extends (
|
|
29
|
-
curry20<TFn_19 extends (
|
|
13
|
+
curry1<TFn extends import("./tail.generated").Func, K1 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn>>>>(fn: TFn, key1: K1): IFunctionResolver<import("./curry.generated").Curried1<TFn>>;
|
|
14
|
+
curry2<TFn_1 extends import("./tail.generated").Func, K1_1 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_1>>>, K2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_1>>>>>(fn: TFn_1, key1: K1_1, key2: K2): IFunctionResolver<import("./curry.generated").Curried2<TFn_1>>;
|
|
15
|
+
curry3<TFn_2 extends import("./tail.generated").Func, K1_2 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_2>>>, K2_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_2>>>>, K3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_2>>>>>(fn: TFn_2, key1: K1_2, key2: K2_1, key3: K3): IFunctionResolver<import("./curry.generated").Curried3<TFn_2>>;
|
|
16
|
+
curry4<TFn_3 extends import("./tail.generated").Func, K1_3 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_3>>>, K2_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_3>>>>, K3_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_3>>>>, K4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_3>>>>>(fn: TFn_3, key1: K1_3, key2: K2_2, key3: K3_1, key4: K4): IFunctionResolver<import("./curry.generated").Curried4<TFn_3>>;
|
|
17
|
+
curry5<TFn_4 extends import("./tail.generated").Func, K1_4 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_4>>>, K2_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_4>>>>, K3_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_4>>>>, K4_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_4>>>>, K5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_4>>>>>(fn: TFn_4, key1: K1_4, key2: K2_3, key3: K3_2, key4: K4_1, key5: K5): IFunctionResolver<import("./curry.generated").Curried5<TFn_4>>;
|
|
18
|
+
curry6<TFn_5 extends import("./tail.generated").Func, K1_5 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_5>>>, K2_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_5>>>>, K3_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_5>>>>, K4_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_5>>>>, K5_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_5>>>>, K6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_5>>>>>(fn: TFn_5, key1: K1_5, key2: K2_4, key3: K3_3, key4: K4_2, key5: K5_1, key6: K6): IFunctionResolver<import("./curry.generated").Curried6<TFn_5>>;
|
|
19
|
+
curry7<TFn_6 extends import("./tail.generated").Func, K1_6 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_6>>>, K2_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_6>>>>, K3_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_6>>>>, K4_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_6>>>>, K5_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_6>>>>, K6_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_6>>>>, K7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_6>>>>>(fn: TFn_6, key1: K1_6, key2: K2_5, key3: K3_4, key4: K4_3, key5: K5_2, key6: K6_1, key7: K7): IFunctionResolver<import("./curry.generated").Curried7<TFn_6>>;
|
|
20
|
+
curry8<TFn_7 extends import("./tail.generated").Func, K1_7 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_7>>>, K2_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_7>>>>, K3_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_7>>>>, K4_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_7>>>>, K5_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_7>>>>, K6_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_7>>>>, K7_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_7>>>>, K8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_7>>>>>(fn: TFn_7, key1: K1_7, key2: K2_6, key3: K3_5, key4: K4_4, key5: K5_3, key6: K6_2, key7: K7_1, key8: K8): IFunctionResolver<import("./curry.generated").Curried8<TFn_7>>;
|
|
21
|
+
curry9<TFn_8 extends import("./tail.generated").Func, K1_8 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_8>>>, K2_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_8>>>>, K3_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_8>>>>, K4_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_8>>>>, K5_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_8>>>>, K6_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_8>>>>, K7_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_8>>>>, K8_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_8>>>>, K9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_8>>>>>(fn: TFn_8, key1: K1_8, key2: K2_7, key3: K3_6, key4: K4_5, key5: K5_4, key6: K6_3, key7: K7_2, key8: K8_1, key9: K9): IFunctionResolver<import("./curry.generated").Curried9<TFn_8>>;
|
|
22
|
+
curry10<TFn_9 extends import("./tail.generated").Func, K1_9 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_9>>>, K2_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_9>>>>, K3_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_9>>>>, K4_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_9>>>>, K5_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_9>>>>, K6_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_9>>>>, K7_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_9>>>>, K8_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_9>>>>, K9_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_9>>>>, K10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_9>>>>>(fn: TFn_9, key1: K1_9, key2: K2_8, key3: K3_7, key4: K4_6, key5: K5_5, key6: K6_4, key7: K7_3, key8: K8_2, key9: K9_1, key10: K10): IFunctionResolver<import("./curry.generated").Curried10<TFn_9>>;
|
|
23
|
+
curry11<TFn_10 extends import("./tail.generated").Func, K1_10 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_10>>>, K2_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_10>>>>, K3_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_10>>>>, K4_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_10>>>>, K5_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_10>>>>, K6_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_10>>>>, K7_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_10>>>>, K8_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_10>>>>, K9_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_10>>>>, K10_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_10>>>>, K11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_10>>>>>(fn: TFn_10, key1: K1_10, key2: K2_9, key3: K3_8, key4: K4_7, key5: K5_6, key6: K6_5, key7: K7_4, key8: K8_3, key9: K9_2, key10: K10_1, key11: K11): IFunctionResolver<import("./curry.generated").Curried11<TFn_10>>;
|
|
24
|
+
curry12<TFn_11 extends import("./tail.generated").Func, K1_11 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_11>>>, K2_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_11>>>>, K3_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_11>>>>, K4_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_11>>>>, K5_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_11>>>>, K6_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_11>>>>, K7_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_11>>>>, K8_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_11>>>>, K9_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_11>>>>, K10_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_11>>>>, K11_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_11>>>>, K12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_11>>>>>(fn: TFn_11, key1: K1_11, key2: K2_10, key3: K3_9, key4: K4_8, key5: K5_7, key6: K6_6, key7: K7_5, key8: K8_4, key9: K9_3, key10: K10_2, key11: K11_1, key12: K12): IFunctionResolver<import("./curry.generated").Curried12<TFn_11>>;
|
|
25
|
+
curry13<TFn_12 extends import("./tail.generated").Func, K1_12 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_12>>>, K2_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_12>>>>, K3_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_12>>>>, K4_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_12>>>>, K5_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_12>>>>, K6_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_12>>>>, K7_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_12>>>>, K8_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_12>>>>, K9_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_12>>>>, K10_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_12>>>>, K11_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_12>>>>, K12_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_12>>>>, K13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_12>>>>>(fn: TFn_12, key1: K1_12, key2: K2_11, key3: K3_10, key4: K4_9, key5: K5_8, key6: K6_7, key7: K7_6, key8: K8_5, key9: K9_4, key10: K10_3, key11: K11_2, key12: K12_1, key13: K13): IFunctionResolver<import("./curry.generated").Curried13<TFn_12>>;
|
|
26
|
+
curry14<TFn_13 extends import("./tail.generated").Func, K1_13 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_13>>>, K2_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_13>>>>, K3_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_13>>>>, K4_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_13>>>>, K5_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_13>>>>, K6_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_13>>>>, K7_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_13>>>>, K8_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_13>>>>, K9_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_13>>>>, K10_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_13>>>>, K11_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_13>>>>, K12_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_13>>>>, K13_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_13>>>>, K14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_13>>>>>(fn: TFn_13, key1: K1_13, key2: K2_12, key3: K3_11, key4: K4_10, key5: K5_9, key6: K6_8, key7: K7_7, key8: K8_6, key9: K9_5, key10: K10_4, key11: K11_3, key12: K12_2, key13: K13_1, key14: K14): IFunctionResolver<import("./curry.generated").Curried14<TFn_13>>;
|
|
27
|
+
curry15<TFn_14 extends import("./tail.generated").Func, K1_14 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_14>>>, K2_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_14>>>>, K3_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_14>>>>, K4_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_14>>>>, K5_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_14>>>>, K6_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_14>>>>, K7_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_14>>>>, K8_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_14>>>>, K9_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_14>>>>, K10_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_14>>>>, K11_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_14>>>>, K12_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_14>>>>, K13_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_14>>>>, K14_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_14>>>>, K15 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_14>>>>>(fn: TFn_14, key1: K1_14, key2: K2_13, key3: K3_12, key4: K4_11, key5: K5_10, key6: K6_9, key7: K7_8, key8: K8_7, key9: K9_6, key10: K10_5, key11: K11_4, key12: K12_3, key13: K13_2, key14: K14_1, key15: K15): IFunctionResolver<import("./curry.generated").Curried15<TFn_14>>;
|
|
28
|
+
curry16<TFn_15 extends import("./tail.generated").Func, K1_15 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_15>>>, K2_14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_15>>>>, K3_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_15>>>>, K4_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_15>>>>, K5_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_15>>>>, K6_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_15>>>>, K7_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_15>>>>, K8_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_15>>>>, K9_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_15>>>>, K10_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_15>>>>, K11_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_15>>>>, K12_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_15>>>>, K13_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_15>>>>, K14_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_15>>>>, K15_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_15>>>>, K16 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail15<Parameters<TFn_15>>>>>(fn: TFn_15, key1: K1_15, key2: K2_14, key3: K3_13, key4: K4_12, key5: K5_11, key6: K6_10, key7: K7_9, key8: K8_8, key9: K9_7, key10: K10_6, key11: K11_5, key12: K12_4, key13: K13_3, key14: K14_2, key15: K15_1, key16: K16): IFunctionResolver<import("./curry.generated").Curried16<TFn_15>>;
|
|
29
|
+
curry17<TFn_16 extends import("./tail.generated").Func, K1_16 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_16>>>, K2_15 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_16>>>>, K3_14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_16>>>>, K4_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_16>>>>, K5_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_16>>>>, K6_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_16>>>>, K7_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_16>>>>, K8_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_16>>>>, K9_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_16>>>>, K10_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_16>>>>, K11_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_16>>>>, K12_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_16>>>>, K13_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_16>>>>, K14_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_16>>>>, K15_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_16>>>>, K16_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail15<Parameters<TFn_16>>>>, K17 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail16<Parameters<TFn_16>>>>>(fn: TFn_16, key1: K1_16, key2: K2_15, key3: K3_14, key4: K4_13, key5: K5_12, key6: K6_11, key7: K7_10, key8: K8_9, key9: K9_8, key10: K10_7, key11: K11_6, key12: K12_5, key13: K13_4, key14: K14_3, key15: K15_2, key16: K16_1, key17: K17): IFunctionResolver<import("./curry.generated").Curried17<TFn_16>>;
|
|
30
|
+
curry18<TFn_17 extends import("./tail.generated").Func, K1_17 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_17>>>, K2_16 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_17>>>>, K3_15 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_17>>>>, K4_14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_17>>>>, K5_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_17>>>>, K6_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_17>>>>, K7_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_17>>>>, K8_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_17>>>>, K9_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_17>>>>, K10_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_17>>>>, K11_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_17>>>>, K12_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_17>>>>, K13_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_17>>>>, K14_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_17>>>>, K15_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_17>>>>, K16_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail15<Parameters<TFn_17>>>>, K17_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail16<Parameters<TFn_17>>>>, K18 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail17<Parameters<TFn_17>>>>>(fn: TFn_17, key1: K1_17, key2: K2_16, key3: K3_15, key4: K4_14, key5: K5_13, key6: K6_12, key7: K7_11, key8: K8_10, key9: K9_9, key10: K10_8, key11: K11_7, key12: K12_6, key13: K13_5, key14: K14_4, key15: K15_3, key16: K16_2, key17: K17_1, key18: K18): IFunctionResolver<import("./curry.generated").Curried18<TFn_17>>;
|
|
31
|
+
curry19<TFn_18 extends import("./tail.generated").Func, K1_18 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_18>>>, K2_17 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_18>>>>, K3_16 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_18>>>>, K4_15 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_18>>>>, K5_14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_18>>>>, K6_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_18>>>>, K7_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_18>>>>, K8_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_18>>>>, K9_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_18>>>>, K10_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_18>>>>, K11_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_18>>>>, K12_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_18>>>>, K13_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_18>>>>, K14_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_18>>>>, K15_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_18>>>>, K16_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail15<Parameters<TFn_18>>>>, K17_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail16<Parameters<TFn_18>>>>, K18_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail17<Parameters<TFn_18>>>>, K19 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail18<Parameters<TFn_18>>>>>(fn: TFn_18, key1: K1_18, key2: K2_17, key3: K3_16, key4: K4_15, key5: K5_14, key6: K6_13, key7: K7_12, key8: K8_11, key9: K9_10, key10: K10_9, key11: K11_8, key12: K12_7, key13: K13_6, key14: K14_5, key15: K15_4, key16: K16_3, key17: K17_2, key18: K18_1, key19: K19): IFunctionResolver<import("./curry.generated").Curried19<TFn_18>>;
|
|
32
|
+
curry20<TFn_19 extends import("./tail.generated").Func, K1_19 extends KeysOfType<T, import("./curry.generated").Param1<Parameters<TFn_19>>>, K2_18 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail1<Parameters<TFn_19>>>>, K3_17 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail2<Parameters<TFn_19>>>>, K4_16 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail3<Parameters<TFn_19>>>>, K5_15 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail4<Parameters<TFn_19>>>>, K6_14 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail5<Parameters<TFn_19>>>>, K7_13 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail6<Parameters<TFn_19>>>>, K8_12 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail7<Parameters<TFn_19>>>>, K9_11 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail8<Parameters<TFn_19>>>>, K10_10 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail9<Parameters<TFn_19>>>>, K11_9 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail10<Parameters<TFn_19>>>>, K12_8 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail11<Parameters<TFn_19>>>>, K13_7 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail12<Parameters<TFn_19>>>>, K14_6 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail13<Parameters<TFn_19>>>>, K15_5 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail14<Parameters<TFn_19>>>>, K16_4 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail15<Parameters<TFn_19>>>>, K17_3 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail16<Parameters<TFn_19>>>>, K18_2 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail17<Parameters<TFn_19>>>>, K19_1 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail18<Parameters<TFn_19>>>>, K20 extends KeysOfType<T, import("./curry.generated").Param1<import("./curry.generated").Tail19<Parameters<TFn_19>>>>>(fn: TFn_19, key1: K1_19, key2: K2_18, key3: K3_17, key4: K4_16, key5: K5_15, key6: K6_14, key7: K7_13, key8: K8_12, key9: K9_11, key10: K10_10, key11: K11_9, key12: K12_8, key13: K13_7, key14: K14_6, key15: K15_5, key16: K16_4, key17: K17_3, key18: K18_2, key19: K19_1, key20: K20): IFunctionResolver<import("./curry.generated").Curried20<TFn_19>>;
|
|
30
33
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
/** Test if the class was made Injectable */
|
|
36
|
-
export declare function wasMadeInjectable(classType: any): boolean;
|
|
37
|
-
/** Mark the class as Injectable */
|
|
38
|
-
export declare function makeInjectable(classType: any): void;
|
|
39
|
-
/** Test if the class parameter was made as Injected */
|
|
40
|
-
export declare function wasParamMadeInjected(classType: any, index: number): any;
|
|
41
|
-
/** Mark the class parameter as Injected */
|
|
42
|
-
export declare function makeParamInjected(classType: any, index: number, serviceIdentifier: string): void;
|
|
43
|
-
/** @deprecated Renamed to makeParamInjected */
|
|
44
|
-
export declare function makeInjected(classType: any, index: number, serviceIdentifier: string): void;
|
|
45
|
-
/** Mark the class parameter as Unmanaged */
|
|
46
|
-
export declare function makeParamUnmanaged(classType: any, parameterIndex: number): void;
|
|
47
|
-
/** @deprecated Renamed to makeParamUnmanaged */
|
|
48
|
-
export declare function makeUnmanaged(classType: any, parameterIndex: number): void;
|
|
49
|
-
declare class Binder<T, TItem, TDep> {
|
|
50
|
-
private key;
|
|
51
|
-
constructor(key: string);
|
|
52
|
-
/** Gets the underlying container binding to the specified key */
|
|
53
|
-
get binding(): interfaces.BindingToSyntax<TItem>;
|
|
54
|
-
/** Register a function */
|
|
55
|
-
function(item: TItem): interfaces.BindingWhenOnSyntax<TItem>;
|
|
56
|
-
/** Register a function resolver */
|
|
57
|
-
functionResolver(item: IFunctionResolver<TItem>): interfaces.BindingWhenOnSyntax<TItem>;
|
|
34
|
+
/** @deprecated LEGACY: Create the register for a container of type T */
|
|
35
|
+
export declare function containerRegister<TContainer>(): {
|
|
36
|
+
/** Register a function/function resolver */
|
|
37
|
+
function<KFunc extends KeysOfType<TContainer, Function>>(key: KFunc, item: TContainer[KFunc] | IFunctionResolver<TContainer[KFunc]>): interfaces.BindingWhenOnSyntax<TContainer[KFunc]>;
|
|
58
38
|
/** Register a constant */
|
|
59
|
-
constant(item:
|
|
39
|
+
constant<KConst extends KeysNotOfType<TContainer, Function>>(key: KConst, item: TContainer[KConst]): interfaces.BindingWhenOnSyntax<TContainer[KConst]>;
|
|
60
40
|
/** Register a class */
|
|
61
|
-
class<C extends NewableOf<
|
|
62
|
-
construct(keys:
|
|
41
|
+
class<KClass extends Extract<keyof TContainer, string>, C extends NewableOf<TContainer[KClass]>>(key: KClass, cls: C): {
|
|
42
|
+
construct(keys: import("./types").TupleToKeysOfMapped<ConstructorParameters<C>, TContainer>): import("./inversify").BindingInWhenOnSyntax<InstanceType<C>>;
|
|
63
43
|
};
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
export declare
|
|
67
|
-
|
|
68
|
-
export declare type ContainerRegister<T, TDep> = {
|
|
69
|
-
[P in keyof T]-?: ContainerRegistrant<T, T[P], TDep>;
|
|
44
|
+
};
|
|
45
|
+
export declare type ContainerBinder<T, TItem, TDep> = (item: Binder<T, TItem, TDep>) => interfaces.BindingOnSyntax<TItem>;
|
|
46
|
+
export declare type ContainerBinding<T, TDep> = {
|
|
47
|
+
[P in keyof T]-?: ContainerBinder<T, T[P], TDep>;
|
|
70
48
|
};
|
|
71
49
|
/** The definition of an IoC Container */
|
|
72
50
|
export interface IContainer<T> {
|
|
@@ -75,10 +53,16 @@ export interface IContainer<T> {
|
|
|
75
53
|
/** Resolve a key from the container */
|
|
76
54
|
get<K extends StringKeyof<T>>(key: K): T[K];
|
|
77
55
|
}
|
|
78
|
-
/**
|
|
56
|
+
/** @deprecated LEGACY: Create a container of type T */
|
|
79
57
|
export declare function containerFactory<T>(): IContainer<T>;
|
|
80
58
|
/** Register the bindings required for your container */
|
|
81
|
-
export declare function register<
|
|
82
|
-
export declare function register<
|
|
59
|
+
export declare function register<TContainer>(binding: ContainerBinding<TContainer, {}>): IContainer<TContainer>;
|
|
60
|
+
export declare function register<TContainer, TDep>(binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<TContainer & TDep>;
|
|
61
|
+
export declare type NamingConvention = 'none' | 'camel';
|
|
62
|
+
/** Register the bindings required for your container */
|
|
63
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, {}>): IContainer<CamelPrefix.Prefixed<TContainer, TKeyPrefix>>;
|
|
64
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'camel', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<CamelPrefix.Prefixed<TContainer, typeof prefix> & TDep>;
|
|
65
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, T>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<T, {}>): IContainer<Prefix.Prefixed<T, TKeyPrefix>>;
|
|
66
|
+
export declare function registerWithPrefix<TKeyPrefix extends string, TContainer, TDep>(convention: 'none', prefix: TKeyPrefix, binding: ContainerBinding<TContainer, TDep>, dependent: IContainer<TDep>): IContainer<Prefix.Prefixed<TContainer, typeof prefix> & TDep>;
|
|
83
67
|
/** Safely merge two containers */
|
|
84
68
|
export declare function mergeContainers<T1, T2>(container1: IContainer<T1>, container2: IContainer<T2>): IContainer<T1 & T2>;
|
package/lib/index.js
CHANGED
|
@@ -1,137 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mergeContainers = exports.
|
|
3
|
+
exports.mergeContainers = exports.registerWithPrefix = exports.register = exports.containerFactory = exports.containerRegister = exports.containerRegisterFunctionResolver = exports.internalContainer = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
require("reflect-metadata");
|
|
6
|
-
var
|
|
6
|
+
var binder_1 = require("./binder");
|
|
7
|
+
var binder_legacy_1 = require("./binder-legacy");
|
|
8
|
+
var curry_1 = require("./curry");
|
|
7
9
|
var error_1 = require("./error");
|
|
8
|
-
var
|
|
10
|
+
var inversify_1 = require("./inversify");
|
|
11
|
+
var prefix_1 = require("./prefix");
|
|
9
12
|
var tail_generated_1 = require("./tail.generated");
|
|
10
13
|
tslib_1.__exportStar(require("./curry.generated"), exports);
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
15
|
-
keys[_i - 1] = arguments[_i];
|
|
16
|
-
}
|
|
17
|
-
var result;
|
|
18
|
-
return {
|
|
19
|
-
resolved: function () {
|
|
20
|
-
if (!result) {
|
|
21
|
-
var values_1 = keys.map(function (k) { return exports.internalContainer.get(k); });
|
|
22
|
-
result = function () {
|
|
23
|
-
var p = [];
|
|
24
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
25
|
-
p[_i] = arguments[_i];
|
|
26
|
-
}
|
|
27
|
-
return fn.apply(fn, tslib_1.__spreadArray(tslib_1.__spreadArray([], values_1, true), p, true));
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
/** Use this helper function to provide container curry functions */
|
|
14
|
+
tslib_1.__exportStar(require("./inversify"), exports);
|
|
15
|
+
exports.internalContainer = (0, inversify_1.getGlobalContainer)();
|
|
16
|
+
/** @deprecated LEGACY: Use this helper function to provide container curry functions */
|
|
35
17
|
function containerRegisterFunctionResolver() {
|
|
36
|
-
return (0, tail_generated_1.containerRegisterFunctionResolverInternal)(curryInner);
|
|
18
|
+
return (0, tail_generated_1.containerRegisterFunctionResolverInternal)(curry_1.curryInner);
|
|
37
19
|
}
|
|
38
20
|
exports.containerRegisterFunctionResolver = containerRegisterFunctionResolver;
|
|
39
|
-
exports.reflectMetadataKeys = {
|
|
40
|
-
injectable: 'inversify:paramtypes',
|
|
41
|
-
injected: 'inversify:tagged',
|
|
42
|
-
};
|
|
43
|
-
/** Test if the class was made Injectable */
|
|
44
|
-
function wasMadeInjectable(classType) {
|
|
45
|
-
return Reflect.hasMetadata(exports.reflectMetadataKeys.injectable, classType);
|
|
46
|
-
}
|
|
47
|
-
exports.wasMadeInjectable = wasMadeInjectable;
|
|
48
|
-
/** Mark the class as Injectable */
|
|
49
|
-
function makeInjectable(classType) {
|
|
50
|
-
if (wasMadeInjectable(classType)) {
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
(0, inversify_1.decorate)((0, inversify_1.injectable)(), classType);
|
|
54
|
-
}
|
|
55
|
-
exports.makeInjectable = makeInjectable;
|
|
56
|
-
/** Test if the class parameter was made as Injected */
|
|
57
|
-
function wasParamMadeInjected(classType, index) {
|
|
58
|
-
var data = Reflect.getMetadata(exports.reflectMetadataKeys.injected, classType);
|
|
59
|
-
return data && !!data[index];
|
|
60
|
-
}
|
|
61
|
-
exports.wasParamMadeInjected = wasParamMadeInjected;
|
|
62
|
-
/** Mark the class parameter as Injected */
|
|
63
|
-
function makeParamInjected(classType, index, serviceIdentifier) {
|
|
64
|
-
if (wasParamMadeInjected(classType, index)) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
(0, inversify_1.decorate)((0, inversify_1.inject)(serviceIdentifier), classType, index);
|
|
68
|
-
}
|
|
69
|
-
exports.makeParamInjected = makeParamInjected;
|
|
70
|
-
/** @deprecated Renamed to makeParamInjected */
|
|
71
|
-
function makeInjected(classType, index, serviceIdentifier) {
|
|
72
|
-
return makeParamInjected(classType, index, serviceIdentifier);
|
|
73
|
-
}
|
|
74
|
-
exports.makeInjected = makeInjected;
|
|
75
|
-
/** Mark the class parameter as Unmanaged */
|
|
76
|
-
function makeParamUnmanaged(classType, parameterIndex) {
|
|
77
|
-
(0, inversify_1.decorate)((0, inversify_1.unmanaged)(), classType, parameterIndex);
|
|
78
|
-
}
|
|
79
|
-
exports.makeParamUnmanaged = makeParamUnmanaged;
|
|
80
|
-
/** @deprecated Renamed to makeParamUnmanaged */
|
|
81
|
-
function makeUnmanaged(classType, parameterIndex) {
|
|
82
|
-
makeParamUnmanaged(classType, parameterIndex);
|
|
83
|
-
}
|
|
84
|
-
exports.makeUnmanaged = makeUnmanaged;
|
|
85
|
-
function registerClass(key, classType, ctorParams) {
|
|
86
|
-
makeInjectable(classType);
|
|
87
|
-
ctorParams.forEach(function (c, i) { return makeParamInjected(classType, i, c); });
|
|
88
|
-
return exports.internalContainer.bind(key).to(classType);
|
|
89
|
-
}
|
|
90
21
|
function isFunctionResolver(item) {
|
|
91
22
|
var resolved = item === null || item === void 0 ? void 0 : item.resolved;
|
|
92
23
|
return resolved && typeof resolved === 'function';
|
|
93
24
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
Object.defineProperty(Binder.prototype, "binding", {
|
|
99
|
-
/** Gets the underlying container binding to the specified key */
|
|
100
|
-
get: function () {
|
|
101
|
-
return exports.internalContainer.bind(this.key);
|
|
102
|
-
},
|
|
103
|
-
enumerable: false,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
/** Register a function */
|
|
107
|
-
Binder.prototype.function = function (item) {
|
|
108
|
-
return this.binding.toFunction(item);
|
|
109
|
-
};
|
|
110
|
-
/** Register a function resolver */
|
|
111
|
-
Binder.prototype.functionResolver = function (item) {
|
|
112
|
-
return this.binding.toFactory(function () { return item.resolved(); });
|
|
113
|
-
};
|
|
114
|
-
/** Register a constant */
|
|
115
|
-
Binder.prototype.constant = function (item) {
|
|
116
|
-
return this.binding.toConstantValue(item);
|
|
117
|
-
};
|
|
118
|
-
/** Register a class */
|
|
119
|
-
Binder.prototype.class = function (cls) {
|
|
120
|
-
var k = this.key;
|
|
121
|
-
return {
|
|
122
|
-
construct: function (keys) {
|
|
123
|
-
return registerClass(k, cls, keys);
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
return Binder;
|
|
128
|
-
}());
|
|
129
|
-
/** Legacy: Create the register for a container of type T */
|
|
25
|
+
function mapKeyNoop(k) {
|
|
26
|
+
return k;
|
|
27
|
+
}
|
|
28
|
+
/** @deprecated LEGACY: Create the register for a container of type T */
|
|
130
29
|
function containerRegister() {
|
|
131
30
|
return {
|
|
132
31
|
/** Register a function/function resolver */
|
|
133
32
|
function: function (key, item) {
|
|
134
|
-
var b = new Binder(key);
|
|
33
|
+
var b = new binder_1.Binder(key, mapKeyNoop);
|
|
135
34
|
if (isFunctionResolver(item)) {
|
|
136
35
|
return b.functionResolver(item);
|
|
137
36
|
}
|
|
@@ -139,14 +38,13 @@ function containerRegister() {
|
|
|
139
38
|
},
|
|
140
39
|
/** Register a constant */
|
|
141
40
|
constant: function (key, item) {
|
|
142
|
-
var b = new Binder(key);
|
|
41
|
+
var b = new binder_1.Binder(key, mapKeyNoop);
|
|
143
42
|
return b.constant(item);
|
|
144
43
|
},
|
|
145
44
|
/** Register a class */
|
|
146
45
|
class: function (key, cls) {
|
|
147
|
-
var b = new
|
|
148
|
-
|
|
149
|
-
return dd;
|
|
46
|
+
var b = new binder_legacy_1.LegacyBinder(key, mapKeyNoop);
|
|
47
|
+
return b.classOld(cls);
|
|
150
48
|
},
|
|
151
49
|
};
|
|
152
50
|
}
|
|
@@ -159,7 +57,7 @@ function createContainerOf(keys) {
|
|
|
159
57
|
},
|
|
160
58
|
};
|
|
161
59
|
}
|
|
162
|
-
/**
|
|
60
|
+
/** @deprecated LEGACY: Create a container of type T */
|
|
163
61
|
function containerFactory() {
|
|
164
62
|
return createContainerOf([]);
|
|
165
63
|
}
|
|
@@ -171,16 +69,47 @@ function getCombinedKeys(keys, dependent) {
|
|
|
171
69
|
}
|
|
172
70
|
return tslib_1.__spreadArray(tslib_1.__spreadArray([], dependent, true), keys, true);
|
|
173
71
|
}
|
|
174
|
-
function
|
|
175
|
-
var keys = Object.keys(
|
|
176
|
-
var
|
|
177
|
-
keys.
|
|
178
|
-
var
|
|
179
|
-
|
|
72
|
+
function registerInternal(binding, transform, dependent) {
|
|
73
|
+
var keys = Object.keys(binding);
|
|
74
|
+
var newKeys = [];
|
|
75
|
+
var mappedKeys = keys.reduce(function (record, key) {
|
|
76
|
+
var newKey = transform(key);
|
|
77
|
+
newKeys.push(newKey);
|
|
78
|
+
record[key] = newKey;
|
|
79
|
+
return record;
|
|
80
|
+
}, {});
|
|
81
|
+
var combinedKeys = dependent ? getCombinedKeys(newKeys, dependent.keys) : newKeys;
|
|
82
|
+
function keyMapper(key) {
|
|
83
|
+
return mappedKeys[key] || key;
|
|
84
|
+
}
|
|
85
|
+
keys.forEach(function (key) {
|
|
86
|
+
var newKey = mappedKeys[key];
|
|
87
|
+
var b = new binder_1.Binder(newKey, keyMapper);
|
|
88
|
+
binding[key](b);
|
|
180
89
|
});
|
|
181
90
|
return createContainerOf(combinedKeys);
|
|
182
91
|
}
|
|
92
|
+
function register(binding, dependent) {
|
|
93
|
+
return registerInternal(binding, mapKeyNoop, dependent);
|
|
94
|
+
}
|
|
183
95
|
exports.register = register;
|
|
96
|
+
function keyTransformFactory(convention, prefix) {
|
|
97
|
+
switch (convention) {
|
|
98
|
+
case 'none':
|
|
99
|
+
return prefix_1.Prefix.keyTransform(prefix);
|
|
100
|
+
case 'camel':
|
|
101
|
+
return prefix_1.CamelPrefix.keyTransform(prefix);
|
|
102
|
+
default: {
|
|
103
|
+
var n = convention;
|
|
104
|
+
throw new Error("Invalid IoC container prefix kind: ".concat(n));
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
function registerWithPrefix(convention, prefix, binding, dependent) {
|
|
109
|
+
var keyTransform = keyTransformFactory(convention, prefix);
|
|
110
|
+
return registerInternal(binding, keyTransform, dependent);
|
|
111
|
+
}
|
|
112
|
+
exports.registerWithPrefix = registerWithPrefix;
|
|
184
113
|
/** Safely merge two containers */
|
|
185
114
|
function mergeContainers(container1, container2) {
|
|
186
115
|
var combinedKeys = getCombinedKeys(container1.keys, container2.keys);
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Container, interfaces } from 'inversify';
|
|
2
|
+
import { Newable } from './types';
|
|
3
|
+
declare global {
|
|
4
|
+
namespace NodeJS {
|
|
5
|
+
interface Global {
|
|
6
|
+
_rocketmakers_ioc: Container;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export declare const reflectMetadataKeys: {
|
|
11
|
+
injectable: string;
|
|
12
|
+
injected: string;
|
|
13
|
+
};
|
|
14
|
+
export declare function getGlobalContainer(): Container;
|
|
15
|
+
/** Test if the class was made Injectable */
|
|
16
|
+
export declare function wasMadeInjectable(classType: any): boolean;
|
|
17
|
+
/** Mark the class as Injectable */
|
|
18
|
+
export declare function makeInjectable(classType: any): void;
|
|
19
|
+
/** Test if the class parameter was made as Injected */
|
|
20
|
+
export declare function wasParamMadeInjected(classType: any, index: number): any;
|
|
21
|
+
/** Mark the class parameter as Injected */
|
|
22
|
+
export declare function makeParamInjected(classType: any, index: number, serviceIdentifier: string): void;
|
|
23
|
+
/** @deprecated Renamed to makeParamInjected */
|
|
24
|
+
export declare function makeInjected(classType: any, index: number, serviceIdentifier: string): void;
|
|
25
|
+
/** Mark the class parameter as Unmanaged */
|
|
26
|
+
export declare function makeParamUnmanaged(classType: any, parameterIndex: number): void;
|
|
27
|
+
/** @deprecated Renamed to makeParamUnmanaged */
|
|
28
|
+
export declare function makeUnmanaged(classType: any, parameterIndex: number): void;
|
|
29
|
+
export declare type BindingInWhenOnSyntax<T> = interfaces.BindingInWhenOnSyntax<T>;
|
|
30
|
+
export declare function registerClass<T extends Newable>(key: string, classType: T, ctorParams: string[]): BindingInWhenOnSyntax<InstanceType<T>>;
|