@cibule/wiring 0.1.1 → 0.2.0
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/dist/dts/packages/di/src/index.d.ts +7 -0
- package/dist/dts/packages/di/src/index.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/context.d.ts +4 -0
- package/dist/dts/packages/di/src/lib/context.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/inject.d.ts +5 -0
- package/dist/dts/packages/di/src/lib/inject.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/injectable.d.ts +3 -0
- package/dist/dts/packages/di/src/lib/injectable.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/injection-token.d.ts +6 -0
- package/dist/dts/packages/di/src/lib/injection-token.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/injector.d.ts +23 -0
- package/dist/dts/packages/di/src/lib/injector.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/provider.d.ts +22 -0
- package/dist/dts/packages/di/src/lib/provider.d.ts.map +1 -0
- package/dist/dts/packages/di/src/lib/token.d.ts +10 -0
- package/dist/dts/packages/di/src/lib/token.d.ts.map +1 -0
- package/package.json +4 -4
- /package/dist/{index.d.ts → dts/packages/wiring/src/index.d.ts} +0 -0
- /package/dist/{index.d.ts.map → dts/packages/wiring/src/index.d.ts.map} +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/create-request-middleware.d.ts +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/create-request-middleware.d.ts.map +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/create-static-injector.d.ts +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/create-static-injector.d.ts.map +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/run-with-stores.d.ts +0 -0
- /package/dist/{lib → dts/packages/wiring/src/lib}/run-with-stores.d.ts.map +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { inject } from './lib/inject';
|
|
2
|
+
export { Injectable } from './lib/injectable';
|
|
3
|
+
export { InjectionToken } from './lib/injection-token';
|
|
4
|
+
export { Injector } from './lib/injector';
|
|
5
|
+
export type { ClassProvider, FactoryProvider, InjectOptions, Provider, SingleProvider, ValueProvider, } from './lib/provider';
|
|
6
|
+
export type { AbstractType, Token, Type } from './lib/token';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../di/src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EACV,aAAa,EACb,eAAe,EACf,aAAa,EACb,QAAQ,EACR,cAAc,EACd,aAAa,GACd,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAI3C,wBAAgB,kBAAkB,IAAI,QAAQ,GAAG,IAAI,CAEpD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,CAI7E"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InjectOptions } from './provider';
|
|
2
|
+
import type { Token } from './token';
|
|
3
|
+
export declare function inject<T>(token: Token<T>): T;
|
|
4
|
+
export declare function inject<T>(token: Token<T>, options: InjectOptions): T | null;
|
|
5
|
+
//# sourceMappingURL=inject.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inject.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/inject.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAErC,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AAC9C,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,CAAC,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectable.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAElD,wBAAgB,UAAU,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,IAAI,CAEpF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injection-token.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/injection-token.ts"],"names":[],"mappings":"AAAA,qBAAa,cAAc,CAAC,CAAC;aAEC,WAAW,EAAE,MAAM;IAD/C,SAAiB,MAAM,EAAE,CAAC,CAAC;gBACC,WAAW,EAAE,MAAM;CAChD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { InjectOptions, Provider } from './provider';
|
|
2
|
+
import type { Token } from './token';
|
|
3
|
+
export declare class Injector {
|
|
4
|
+
private readonly parent?;
|
|
5
|
+
private readonly records;
|
|
6
|
+
private constructor();
|
|
7
|
+
static create(options: {
|
|
8
|
+
providers: Provider[];
|
|
9
|
+
parent?: Injector;
|
|
10
|
+
}): Injector;
|
|
11
|
+
get<T>(token: Token<T>): T;
|
|
12
|
+
get<T>(token: Token<T>, options: InjectOptions): T | null;
|
|
13
|
+
runInContext<T>(fn: () => T): T;
|
|
14
|
+
private resolve;
|
|
15
|
+
private invokeFactories;
|
|
16
|
+
private register;
|
|
17
|
+
private createFactory;
|
|
18
|
+
private addRecord;
|
|
19
|
+
private resolveParentMulti;
|
|
20
|
+
private flatten;
|
|
21
|
+
private tokenName;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=injector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injector.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/injector.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAC1E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAUrC,qBAAa,QAAQ;IAKjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAJ1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IAErE,OAAO;WAUO,MAAM,CAAC,OAAO,EAAE;QAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,QAAQ;IAI9E,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1B,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,GAAG,CAAC,GAAG,IAAI;IAmBzD,YAAY,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC;IAStC,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,QAAQ;IAkBhB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,SAAS;IAkBjB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,SAAS;CASlB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Token, Type } from './token';
|
|
2
|
+
export interface ValueProvider<T = unknown> {
|
|
3
|
+
readonly provide: Token<T>;
|
|
4
|
+
readonly useValue: T;
|
|
5
|
+
readonly multi?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface ClassProvider<T = unknown> {
|
|
8
|
+
readonly provide: Token<T>;
|
|
9
|
+
readonly useClass: Type<T>;
|
|
10
|
+
readonly multi?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface FactoryProvider<T = unknown> {
|
|
13
|
+
readonly provide: Token<T>;
|
|
14
|
+
readonly useFactory: () => T;
|
|
15
|
+
readonly multi?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export type SingleProvider<T = unknown> = Type<T> | ValueProvider<T> | ClassProvider<T> | FactoryProvider<T>;
|
|
18
|
+
export type Provider = SingleProvider | Provider[];
|
|
19
|
+
export interface InjectOptions {
|
|
20
|
+
readonly optional: true;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa,CAAC,CAAC,GAAG,OAAO;IACxC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,GAAG,OAAO;IAC1C,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,OAAO,IAClC,IAAI,CAAC,CAAC,CAAC,GACP,aAAa,CAAC,CAAC,CAAC,GAChB,aAAa,CAAC,CAAC,CAAC,GAChB,eAAe,CAAC,CAAC,CAAC,CAAC;AAEvB,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,QAAQ,EAAE,CAAC;AAEnD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { InjectionToken } from './injection-token';
|
|
2
|
+
export interface AbstractType<T> {
|
|
3
|
+
prototype: T;
|
|
4
|
+
name: string;
|
|
5
|
+
}
|
|
6
|
+
export interface Type<T> extends AbstractType<T> {
|
|
7
|
+
new (...args: unknown[]): T;
|
|
8
|
+
}
|
|
9
|
+
export type Token<T> = Type<T> | AbstractType<T> | InjectionToken<T>;
|
|
10
|
+
//# sourceMappingURL=token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../../../../di/src/lib/token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD,MAAM,WAAW,YAAY,CAAC,CAAC;IAC7B,SAAS,EAAE,CAAC,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,IAAI,CAAC,CAAC,CAAE,SAAQ,YAAY,CAAC,CAAC,CAAC;IAC9C,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;CAC7B;AAED,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cibule/wiring",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
7
7
|
"module": "dist/index.js",
|
|
8
|
-
"types": "dist/index.d.ts",
|
|
8
|
+
"types": "dist/dts/packages/wiring/src/index.d.ts",
|
|
9
9
|
"exports": {
|
|
10
10
|
".": {
|
|
11
11
|
"import": {
|
|
12
|
-
"types": "./dist/index.d.ts",
|
|
12
|
+
"types": "./dist/dts/packages/wiring/src/index.d.ts",
|
|
13
13
|
"default": "./dist/index.js"
|
|
14
14
|
},
|
|
15
15
|
"require": {
|
|
16
|
-
"types": "./dist/index.d.ts",
|
|
16
|
+
"types": "./dist/dts/packages/wiring/src/index.d.ts",
|
|
17
17
|
"default": "./dist/index.cjs"
|
|
18
18
|
}
|
|
19
19
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|