@nmtjs/core 0.12.5 → 0.12.6
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/constants.d.ts +20 -0
- package/dist/constants.js +10 -12
- package/dist/container.d.ts +46 -0
- package/dist/container.js +310 -277
- package/dist/enums.d.ts +18 -0
- package/dist/enums.js +20 -22
- package/dist/hooks.d.ts +19 -0
- package/dist/hooks.js +39 -35
- package/dist/index.d.ts +11 -0
- package/dist/index.js +3 -2
- package/dist/injectables.d.ts +115 -0
- package/dist/injectables.js +194 -179
- package/dist/logger.d.ts +9 -0
- package/dist/logger.js +54 -58
- package/dist/metadata.d.ts +13 -0
- package/dist/metadata.js +10 -15
- package/dist/plugin.d.ts +12 -0
- package/dist/plugin.js +1 -7
- package/dist/registry.d.ts +19 -0
- package/dist/registry.js +17 -18
- package/dist/types.d.ts +11 -0
- package/dist/types.js +0 -2
- package/dist/utils/functions.d.ts +6 -0
- package/dist/utils/functions.js +30 -32
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +0 -2
- package/dist/utils/pool.d.ts +18 -0
- package/dist/utils/pool.js +103 -90
- package/dist/utils/semaphore.d.ts +13 -0
- package/dist/utils/semaphore.js +53 -46
- package/package.json +9 -8
- package/src/hooks.ts +1 -3
- package/src/index.ts +4 -0
- package/src/injectables.ts +2 -2
- package/src/logger.ts +1 -0
- package/src/plugin.ts +1 -1
- package/src/utils/pool.ts +1 -1
- package/src/utils/semaphore.ts +1 -1
- package/dist/constants.js.map +0 -1
- package/dist/container.js.map +0 -1
- package/dist/enums.js.map +0 -1
- package/dist/hooks.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/injectables.js.map +0 -1
- package/dist/logger.js.map +0 -1
- package/dist/metadata.js.map +0 -1
- package/dist/plugin.js.map +0 -1
- package/dist/registry.js.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/utils/functions.js.map +0 -1
- package/dist/utils/index.js.map +0 -1
- package/dist/utils/pool.js.map +0 -1
- package/dist/utils/semaphore.js.map +0 -1
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare const kOptionalDependency: unique symbol;
|
|
2
|
+
export type kOptionalDependency = typeof kOptionalDependency;
|
|
3
|
+
export declare const kInjectable: unique symbol;
|
|
4
|
+
export type kInjectable = typeof kInjectable;
|
|
5
|
+
export declare const kLazyInjectable: unique symbol;
|
|
6
|
+
export type kLazyInjectable = typeof kLazyInjectable;
|
|
7
|
+
export declare const kValueInjectable: unique symbol;
|
|
8
|
+
export type kValueInjectable = typeof kValueInjectable;
|
|
9
|
+
export declare const kFactoryInjectable: unique symbol;
|
|
10
|
+
export type kFactoryInjectable = typeof kFactoryInjectable;
|
|
11
|
+
export declare const kClassInjectable: unique symbol;
|
|
12
|
+
export type kClassInjectable = typeof kClassInjectable;
|
|
13
|
+
export declare const kProvider: unique symbol;
|
|
14
|
+
export type kProvider = typeof kProvider;
|
|
15
|
+
export declare const kHookCollection: unique symbol;
|
|
16
|
+
export type kHookCollection = typeof kHookCollection;
|
|
17
|
+
export declare const kPlugin: unique symbol;
|
|
18
|
+
export type kPlugin = typeof kPlugin;
|
|
19
|
+
export declare const kMetadata: unique symbol;
|
|
20
|
+
export type kMetadata = typeof kMetadata;
|
package/dist/constants.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
export const kOptionalDependency = Symbol.for(
|
|
2
|
-
export const kInjectable = Symbol.for(
|
|
3
|
-
export const kLazyInjectable = Symbol.for(
|
|
4
|
-
export const kValueInjectable = Symbol.for(
|
|
5
|
-
export const kFactoryInjectable = Symbol.for(
|
|
6
|
-
export const kClassInjectable = Symbol.for(
|
|
7
|
-
export const kProvider = Symbol.for(
|
|
8
|
-
export const kHookCollection = Symbol.for(
|
|
9
|
-
export const kPlugin = Symbol.for(
|
|
10
|
-
export const kMetadata = Symbol.for(
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=constants.js.map
|
|
1
|
+
export const kOptionalDependency = Symbol.for('neemata:OptionalDependencyKey');
|
|
2
|
+
export const kInjectable = Symbol.for('neemata:InjectableKey');
|
|
3
|
+
export const kLazyInjectable = Symbol.for('neemata:LazyInjectableKey');
|
|
4
|
+
export const kValueInjectable = Symbol.for('neemata:ValueInjectableKey');
|
|
5
|
+
export const kFactoryInjectable = Symbol.for('neemata:FactoryInjectableKey');
|
|
6
|
+
export const kClassInjectable = Symbol.for('neemata:ClassInjectableKey');
|
|
7
|
+
export const kProvider = Symbol.for('neemata:ProviderKey');
|
|
8
|
+
export const kHookCollection = Symbol.for('neemata:HookCollectionKey');
|
|
9
|
+
export const kPlugin = Symbol.for('neemata:PluginKey');
|
|
10
|
+
export const kMetadata = Symbol.for('neemata:MetadataKey');
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Scope } from './enums.ts';
|
|
2
|
+
import { type AnyInjectable, type Dependencies, type DependencyContext, type ResolveInjectableType } from './injectables.ts';
|
|
3
|
+
import type { Logger } from './logger.ts';
|
|
4
|
+
import type { Registry } from './registry.ts';
|
|
5
|
+
type InstanceWrapper = {
|
|
6
|
+
private: any;
|
|
7
|
+
public: any;
|
|
8
|
+
context: any;
|
|
9
|
+
};
|
|
10
|
+
type ContainerOptions = {
|
|
11
|
+
registry: Registry;
|
|
12
|
+
logger: Logger;
|
|
13
|
+
};
|
|
14
|
+
export declare class Container {
|
|
15
|
+
private readonly application;
|
|
16
|
+
readonly scope: Exclude<Scope, Scope.Transient>;
|
|
17
|
+
private readonly parent?;
|
|
18
|
+
readonly instances: Map<AnyInjectable, InstanceWrapper[]>;
|
|
19
|
+
private readonly resolvers;
|
|
20
|
+
private readonly injectables;
|
|
21
|
+
private readonly dependants;
|
|
22
|
+
private disposing;
|
|
23
|
+
constructor(application: ContainerOptions, scope?: Exclude<Scope, Scope.Transient>, parent?: Container | undefined);
|
|
24
|
+
load(): Promise<void>;
|
|
25
|
+
fork(scope: Exclude<Scope, Scope.Transient>): Container;
|
|
26
|
+
dispose(): Promise<void>;
|
|
27
|
+
containsWithinSelf(injectable: AnyInjectable): boolean;
|
|
28
|
+
contains(injectable: AnyInjectable): boolean;
|
|
29
|
+
get<T extends AnyInjectable>(injectable: T): ResolveInjectableType<T>;
|
|
30
|
+
resolve<T extends AnyInjectable>(injectable: T): Promise<ResolveInjectableType<T>>;
|
|
31
|
+
createContext<T extends Dependencies>(dependencies: T): Promise<DependencyContext<T>>;
|
|
32
|
+
private createInjectableContext;
|
|
33
|
+
provide<T extends AnyInjectable>(injectable: T, instance: ResolveInjectableType<T>): Promise<void>;
|
|
34
|
+
satisfies(injectable: AnyInjectable): boolean;
|
|
35
|
+
private findCurrentScopeInjectables;
|
|
36
|
+
private resolveInjectable;
|
|
37
|
+
private createResolution;
|
|
38
|
+
private createInjectFunction;
|
|
39
|
+
private createDisposeFunction;
|
|
40
|
+
private getDisposalOrder;
|
|
41
|
+
private disposeInjectableInstances;
|
|
42
|
+
private disposeInjectableInstance;
|
|
43
|
+
}
|
|
44
|
+
export type InjectFn = ReturnType<Container['createInjectFunction']>;
|
|
45
|
+
export type DisposeFn = ReturnType<Container['createDisposeFunction']>;
|
|
46
|
+
export {};
|