diff --git a/src/di/DependencyManager.ts b/src/di/DependencyManager.ts index 3e2905f..796e659 100644 --- a/src/di/DependencyManager.ts +++ b/src/di/DependencyManager.ts @@ -1,13 +1,13 @@ -import type IDependencyProvider from './IDependencyProvider'; +import type {IDependencyProvider} from './IDependencyProvider'; import type IDisposable from '../lang/IDisposable'; import Disposable from '../lang/Disposable'; -import Type from './Type'; -import type IDependencyManager from './IDependencyManager'; +import {Type} from './Type'; +import type {IDependencyManager} from './IDependencyManager'; type Constructor = new (...args: unknown[]) => T; type ModuleLoader = (modulePath: string) => Promise; -export default class DependencyManager implements IDependencyManager { +export class DependencyManager implements IDependencyManager { private readonly _moduleLoader: ModuleLoader; private readonly _types: Type[]; private readonly _eagerTypes: Type[]; diff --git a/src/di/DependencyProvider.ts b/src/di/DependencyProvider.ts index 176eb3f..1e39981 100644 --- a/src/di/DependencyProvider.ts +++ b/src/di/DependencyProvider.ts @@ -1,8 +1,8 @@ -import type IDependencyProvider from './IDependencyProvider'; +import type {IDependencyProvider} from './IDependencyProvider'; import type {Milliseconds} from '../types/Units'; -import type IDependencyManager from './IDependencyManager'; +import type {IDependencyManager} from './IDependencyManager'; import {Lifecycle} from './Lifecycle'; -import Type from './Type'; +import {Type} from './Type'; interface IStartable { start(): Promise | void; @@ -14,7 +14,7 @@ function isStartable(obj: unknown): obj is IStartable { return obj !== null && typeof obj === 'object' && 'start' in obj && typeof (obj as IStartable).start === 'function'; } -export default class DependencyProvider implements IDependencyProvider { +export class DependencyProvider implements IDependencyProvider { private readonly _dependencyManager: IDependencyManager; private readonly _type: Type; private readonly _instanceType: Type; diff --git a/src/di/IDependencyManager.ts b/src/di/IDependencyManager.ts index b6f8f46..606dc6b 100644 --- a/src/di/IDependencyManager.ts +++ b/src/di/IDependencyManager.ts @@ -1,8 +1,8 @@ -import type Type from './Type'; +import type {Type} from './Type'; import type IDisposable from '../lang/IDisposable'; -import type IDependencyProvider from './IDependencyProvider'; +import type {IDependencyProvider} from './IDependencyProvider'; -export default interface IDependencyManager { +export interface IDependencyManager { defineDependencies(type: Type, dependencies: Type[]): IDisposable; getDependencies(type: Type): Type[] | undefined; addProvider(provider: IDependencyProvider): IDisposable; diff --git a/src/di/IDependencyProvider.ts b/src/di/IDependencyProvider.ts index ea5ff9f..6c2b058 100644 --- a/src/di/IDependencyProvider.ts +++ b/src/di/IDependencyProvider.ts @@ -1,6 +1,6 @@ -import Type from './Type'; +import {Type} from './Type'; -export default interface IDependencyProvider { +export interface IDependencyProvider { canProvide(type: Type): boolean; provide(type: Type): Promise; toString(): string; diff --git a/src/di/NamedType.ts b/src/di/NamedType.ts index d34cd7a..917d73e 100644 --- a/src/di/NamedType.ts +++ b/src/di/NamedType.ts @@ -1,6 +1,6 @@ -import Type from './Type'; +import {Type} from './Type'; -export default class NamedType extends Type { +export class NamedType extends Type { private readonly _name: string; constructor(name: string, type: string) { diff --git a/src/di/Type.ts b/src/di/Type.ts index 571553b..7f275e4 100644 --- a/src/di/Type.ts +++ b/src/di/Type.ts @@ -1,4 +1,4 @@ -export default class Type { +export class Type { private _type: string; constructor(type: string) { diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..e19e202 --- /dev/null +++ b/src/index.ts @@ -0,0 +1,8 @@ +export type {IDependencyProvider} from './di/IDependencyProvider'; +export type {IDependencyManager} from './di/IDependencyManager'; +export type {default as IDisposable} from './lang/IDisposable'; +export type {LifecycleType} from './di/Lifecycle'; +export {Type} from './di/Type'; +export {NamedType} from './di/NamedType'; +export {DependencyManager} from './di/DependencyManager'; +export {DependencyProvider} from './di/DependencyProvider';