@djodjonx/wiredi 0.0.11 → 0.0.13

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.
Files changed (35) hide show
  1. package/README.md +148 -21
  2. package/dist/index.cjs +13 -6
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +147 -34
  5. package/dist/index.d.cts.map +1 -1
  6. package/dist/index.d.mts +147 -34
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +13 -5
  9. package/dist/index.mjs.map +1 -1
  10. package/dist/plugin/ConfigurationAnalyzer.d.ts +59 -0
  11. package/dist/plugin/ConfigurationAnalyzer.d.ts.map +1 -0
  12. package/dist/plugin/ConfigurationAnalyzer.js +321 -0
  13. package/dist/plugin/ConfigurationAnalyzer.js.map +1 -0
  14. package/dist/plugin/DependencyAnalyzer.d.ts +54 -0
  15. package/dist/plugin/DependencyAnalyzer.d.ts.map +1 -0
  16. package/dist/plugin/DependencyAnalyzer.js +208 -0
  17. package/dist/plugin/DependencyAnalyzer.js.map +1 -0
  18. package/dist/plugin/TokenNormalizer.d.ts +51 -0
  19. package/dist/plugin/TokenNormalizer.d.ts.map +1 -0
  20. package/dist/plugin/TokenNormalizer.js +208 -0
  21. package/dist/plugin/TokenNormalizer.js.map +1 -0
  22. package/dist/plugin/ValidationEngine.d.ts +53 -0
  23. package/dist/plugin/ValidationEngine.d.ts.map +1 -0
  24. package/dist/plugin/ValidationEngine.js +250 -0
  25. package/dist/plugin/ValidationEngine.js.map +1 -0
  26. package/dist/plugin/index.d.ts +2 -0
  27. package/dist/plugin/index.d.ts.map +1 -0
  28. package/dist/plugin/index.js +144 -0
  29. package/dist/plugin/index.js.map +1 -0
  30. package/dist/plugin/package.json +6 -0
  31. package/dist/plugin/types.d.ts +152 -0
  32. package/dist/plugin/types.d.ts.map +1 -0
  33. package/dist/plugin/types.js +3 -0
  34. package/dist/plugin/types.js.map +1 -0
  35. package/package.json +10 -1
package/dist/index.d.cts CHANGED
@@ -8,7 +8,7 @@ import { Container } from "inversify";
8
8
  * Generic constructor type
9
9
  * @template T - The type of the class instance
10
10
  */
11
- type Constructor$3<T = any> = new (...args: any[]) => T;
11
+ type Constructor$3<T = unknown> = new (...args: unknown[]) => T;
12
12
  /**
13
13
  * Dependency lifecycle options
14
14
  * Independent of the underlying container implementation
@@ -236,7 +236,7 @@ interface TsyringeDependencyContainer {
236
236
  /**
237
237
  * Registers a dependency in the container
238
238
  */
239
- register<T>(token: any, provider: {
239
+ register<T>(token: symbol | Constructor$3<T>, provider: {
240
240
  useValue?: T;
241
241
  useFactory?: () => T;
242
242
  useClass?: Constructor$3<T>;
@@ -246,11 +246,11 @@ interface TsyringeDependencyContainer {
246
246
  /**
247
247
  * Checks if a token is registered
248
248
  */
249
- isRegistered(token: any): boolean;
249
+ isRegistered(token: symbol | Constructor$3): boolean;
250
250
  /**
251
251
  * Resolves a dependency from the container
252
252
  */
253
- resolve<T>(token: any): T;
253
+ resolve<T>(token: symbol | Constructor$3<T>): T;
254
254
  /**
255
255
  * Creates a child container for scoped registrations
256
256
  */
@@ -368,7 +368,7 @@ declare class TsyringeProvider implements ContainerProvider {
368
368
  * @template T - The type of the class instance
369
369
  * @internal
370
370
  */
371
- type Constructor$2<T = any> = new (...args: any[]) => T;
371
+ type Constructor$2<T = unknown> = new (...args: unknown[]) => T;
372
372
  /**
373
373
  * Configuration options for AwilixProvider
374
374
  */
@@ -499,7 +499,7 @@ declare class AwilixProvider implements ContainerProvider {
499
499
  * @template T - The type of the class instance
500
500
  * @internal
501
501
  */
502
- type Constructor$1<T = any> = new (...args: any[]) => T;
502
+ type Constructor$1<T = unknown> = new (...args: unknown[]) => T;
503
503
  /**
504
504
  * InversifyJS binding scope options
505
505
  * @internal
@@ -629,12 +629,12 @@ declare class InversifyProvider implements ContainerProvider {
629
629
  * Token representing an event type (class constructor)
630
630
  * Events are identified by their class constructor
631
631
  */
632
- type EventToken = new (...args: any[]) => any;
632
+ type EventToken = new (...args: unknown[]) => unknown;
633
633
  /**
634
634
  * Token representing a listener (class constructor or symbol)
635
635
  * Listeners can be registered as classes or symbol tokens
636
636
  */
637
- type ListenerToken = (new (...args: any[]) => any) | symbol;
637
+ type ListenerToken = (new (...args: unknown[]) => unknown) | symbol;
638
638
  /**
639
639
  * Configuration entry for registering a listener to an event
640
640
  *
@@ -708,6 +708,14 @@ interface EventDispatcherProvider {
708
708
  * @returns `true` if at least one listener is registered
709
709
  */
710
710
  hasListeners(eventToken: EventToken): boolean;
711
+ /**
712
+ * Checks if a specific listener is registered for an event type
713
+ *
714
+ * @param eventToken - The event class/constructor
715
+ * @param listenerToken - The listener class/symbol
716
+ * @returns `true` if the listener is already registered
717
+ */
718
+ hasListener(eventToken: EventToken, listenerToken: ListenerToken): boolean;
711
719
  /**
712
720
  * Removes all listeners for a specific event type
713
721
  *
@@ -794,6 +802,8 @@ declare class MutableEventDispatcherProvider implements EventDispatcherProvider
794
802
  /** @inheritdoc */
795
803
  hasListeners(eventToken: EventToken): boolean;
796
804
  /** @inheritdoc */
805
+ hasListener(eventToken: EventToken, listenerToken: ListenerToken): boolean;
806
+ /** @inheritdoc */
797
807
  clearListeners(eventToken: EventToken): void;
798
808
  /** @inheritdoc */
799
809
  clearAllListeners(): void;
@@ -879,25 +889,41 @@ declare function hasEventDispatcherProvider(): boolean;
879
889
  declare function resetEventDispatcherProvider(): void;
880
890
  //#endregion
881
891
  //#region src/index.d.ts
882
- type Constructor<T = any> = new (...args: any[]) => T;
883
- interface BuilderConfigEntryValue<C = null> {
892
+ type Constructor<T = unknown> = new (...args: any[]) => T;
893
+ /**
894
+ * Value injection entry - registers a static value for a token
895
+ * @template C - Context type passed to the value function
896
+ * @template T - Type of the value returned
897
+ */
898
+ interface BuilderConfigEntryValue<C = null, T = unknown> {
884
899
  token: symbol;
885
- value: (context?: C) => any;
900
+ value: (context?: C) => T;
886
901
  }
887
- interface BuilderConfigEntryInjectionWithToken {
902
+ /**
903
+ * Injection with symbol token and provider class
904
+ * @template T - Type of the instance created by the provider
905
+ */
906
+ interface BuilderConfigEntryInjectionWithToken<T = unknown> {
888
907
  token: symbol;
889
- provider: Constructor;
908
+ provider: Constructor<T>;
890
909
  lifecycle?: ProviderLifecycle;
891
910
  }
911
+ /**
912
+ * Injection using a class as both token and provider
913
+ */
892
914
  interface BuilderConfigEntryInjectionWithClass {
893
915
  token: Constructor;
894
916
  lifecycle?: ProviderLifecycle;
895
917
  }
896
- interface BuilderConfigEntryFactory {
918
+ /**
919
+ * Factory injection entry - registers a factory function for a token
920
+ * @template T - Type of the instance returned by the factory
921
+ */
922
+ interface BuilderConfigEntryFactory<T = unknown> {
897
923
  token: symbol;
898
- factory: (provider: ContainerProvider) => any;
924
+ factory: (provider: ContainerProvider) => T;
899
925
  }
900
- type BuilderConfigEntries<C> = BuilderConfigEntryValue<C> | BuilderConfigEntryInjectionWithToken | BuilderConfigEntryFactory | BuilderConfigEntryInjectionWithClass;
926
+ type BuilderConfigEntries<C> = BuilderConfigEntryValue<C, unknown> | BuilderConfigEntryInjectionWithToken<unknown> | BuilderConfigEntryFactory<unknown> | BuilderConfigEntryInjectionWithClass;
901
927
  type InjectionConfig<C> = readonly BuilderConfigEntries<C>[];
902
928
  interface EventEntry {
903
929
  event: Constructor;
@@ -907,7 +933,7 @@ type EventConfig = readonly EventEntry[];
907
933
  interface BuilderConfig<C = null> {
908
934
  builderId: string;
909
935
  injections: InjectionConfig<C>;
910
- listeners: EventConfig;
936
+ listeners?: EventConfig;
911
937
  }
912
938
  /**
913
939
  * A partial builder configuration that defines a set of injections and listeners.
@@ -938,9 +964,11 @@ interface TypedBuilderConfig<C, Tokens> extends BuilderConfig<C> {
938
964
  * A partial builder configuration with strictly inferred token types.
939
965
  * @template C The context type.
940
966
  * @template Tokens The tuple of allowed tokens.
967
+ * @template Listeners The tuple of listener entries.
941
968
  */
942
- interface TypedPartialConfig<C, Tokens> extends PartialBuilderConfig<C> {
969
+ interface TypedPartialConfig<C, Tokens, Listeners = readonly EventEntry[]> extends PartialBuilderConfig<C> {
943
970
  readonly __tokens?: Tokens;
971
+ readonly __listeners?: Listeners;
944
972
  }
945
973
  /**
946
974
  * Interface for the return object of `useBuilder`, providing a `resolve` method.
@@ -978,52 +1006,137 @@ interface IUseBuilder<AllowedTokens = ResolveToken<any>> {
978
1006
  * @param config The partial builder configuration object.
979
1007
  * @returns The configuration object typed as TypedPartialConfig.
980
1008
  */
981
- declare function definePartialConfig<C = null, const I extends InjectionConfig<C> = InjectionConfig<C>>(config: PartialBuilderConfig<C> & {
1009
+ declare function definePartialConfig<C = null, const I extends InjectionConfig<C> = InjectionConfig<C>, const L extends EventConfig = EventConfig>(config: PartialBuilderConfig<C> & {
982
1010
  injections?: I;
983
- }): TypedPartialConfig<C, ExtractTokens<I>>;
1011
+ listeners?: L;
1012
+ }): TypedPartialConfig<C, ExtractTokens<I>, L>;
984
1013
  /**
985
1014
  * Recursively extracts tokens from a tuple of TypedPartialConfigs.
986
1015
  */
987
- type ExtractTokensFromTypedPartials<T extends readonly TypedPartialConfig<any, any>[]> = T extends readonly [infer Head, ...infer Tail] ? Tail extends readonly TypedPartialConfig<any, any>[] ? Head extends TypedPartialConfig<any, infer Tokens> ? Tokens extends readonly any[] ? [...Tokens, ...ExtractTokensFromTypedPartials<Tail>] : ExtractTokensFromTypedPartials<Tail> : ExtractTokensFromTypedPartials<Tail> : [] : [];
1016
+ type ExtractTokensFromTypedPartials<T extends readonly TypedPartialConfig<any, any, any>[]> = T extends readonly [infer Head, ...infer Tail] ? Tail extends readonly TypedPartialConfig<any, any, any>[] ? Head extends TypedPartialConfig<any, infer Tokens, any> ? Tokens extends readonly unknown[] ? [...Tokens, ...ExtractTokensFromTypedPartials<Tail>] : ExtractTokensFromTypedPartials<Tail> : ExtractTokensFromTypedPartials<Tail> : [] : [];
988
1017
  /**
989
1018
  * Helper to extract (Event, Listener) pairs from partials for duplicate checking.
1019
+ * Uses the __listeners type parameter from TypedPartialConfig.
990
1020
  */
991
- type ExtractListenersFromPartials<T extends readonly TypedPartialConfig<any, any>[]> = T extends readonly [infer Head, ...infer Tail] ? Tail extends readonly TypedPartialConfig<any, any>[] ? Head extends {
992
- listeners?: readonly (infer L)[];
993
- } ? L | ExtractListenersFromPartials<Tail> : ExtractListenersFromPartials<Tail> : never : never;
1021
+ type ExtractListenersFromPartials<T extends readonly TypedPartialConfig<any, any, any>[]> = T extends readonly [infer Head, ...infer Tail] ? Tail extends readonly TypedPartialConfig<any, any, any>[] ? Head extends TypedPartialConfig<any, any, infer Listeners> ? Listeners extends readonly (infer L)[] ? L | ExtractListenersFromPartials<Tail> : ExtractListenersFromPartials<Tail> : ExtractListenersFromPartials<Tail> : never : never;
994
1022
  /**
995
1023
  * Validates that injections do not collide with tokens from inherited partials.
996
1024
  *
997
1025
  * Rules:
998
1026
  * 1. Token exists in Partial -> ❌ Error: Token collision (duplicates not allowed)
999
1027
  * 2. Token NOT in Partial -> ✅ Valid New Entry
1028
+ * 3. Token duplicated in same array -> ❌ Error: Internal duplication
1000
1029
  *
1001
1030
  * Note: Token overrides are not allowed. Each token must be unique across all partials
1002
1031
  * and the main configuration. This prevents accidental redefinition of dependencies.
1003
1032
  */
1004
- type ValidateInjections<LocalInjections, InheritedTokenUnion> = [InheritedTokenUnion] extends [never] ? LocalInjections : { [K in keyof LocalInjections]: LocalInjections[K] extends {
1033
+ type ValidateInjections<LocalInjections, InheritedTokenUnion> = [InheritedTokenUnion] extends [never] ? ValidateInjectionsInternal<LocalInjections> : ValidateInjectionsInternal<ValidateAgainstPartials<LocalInjections, InheritedTokenUnion>>;
1034
+ /**
1035
+ * Validates injections against inherited tokens from partials.
1036
+ *
1037
+ * Note: Plain symbols are skipped because TypeScript sees all Symbol() as the same type.
1038
+ * Use branded symbols or class tokens for proper partial validation.
1039
+ */
1040
+ type ValidateAgainstPartials<LocalInjections, InheritedTokenUnion> = { [K in keyof LocalInjections]: LocalInjections[K] extends {
1005
1041
  token: infer T;
1006
- } ? T extends InheritedTokenUnion ? {
1042
+ } ? T extends symbol ? symbol extends T ? LocalInjections[K] : T extends InheritedTokenUnion ? {
1043
+ error: '[WireDI] This token is already registered in a partial. Remove it from here or from the partial to avoid conflicts.';
1044
+ token: T;
1045
+ hint: 'Each token can only be registered once across all partials and the main config.';
1046
+ } : LocalInjections[K] : T extends InheritedTokenUnion ? {
1007
1047
  error: '[WireDI] This token is already registered in a partial. Remove it from here or from the partial to avoid conflicts.';
1008
1048
  token: T;
1009
1049
  hint: 'Each token can only be registered once across all partials and the main config.';
1010
1050
  } : LocalInjections[K] : LocalInjections[K] };
1051
+ /**
1052
+ * Validates that there are no duplicate tokens within the same injections array.
1053
+ * Checks each token against all following entries.
1054
+ *
1055
+ * Note: Plain symbols (Symbol('x')) are skipped because TypeScript sees them all as type 'symbol'.
1056
+ * For duplicate detection with symbols, use branded symbols: Symbol('x') as symbol & { __brand: 'x' }
1057
+ */
1058
+ type ValidateInjectionsInternal<T> = T extends readonly [] ? T : T extends readonly [infer First, ...infer Rest] ? First extends {
1059
+ token: infer Token;
1060
+ } ? IsPlainSymbol<Token> extends true ? [First, ...ValidateInjectionsInternal<Rest>] : HasTokenDuplicate<Token, Rest> extends true ? [{
1061
+ error: '[WireDI] Duplicate token in the same configuration';
1062
+ token: Token;
1063
+ hint: 'Each token can only be registered once. Remove one of the duplicate entries.';
1064
+ }, ...ValidateInjectionsInternal<Rest>] : [First, ...ValidateInjectionsInternal<Rest>] : [First, ...ValidateInjectionsInternal<Rest>] : T;
1065
+ /**
1066
+ * Checks if a type is a plain symbol (not branded).
1067
+ * Plain symbols are Symbol() without intersection types.
1068
+ */
1069
+ type IsPlainSymbol<T> = T extends symbol ? symbol extends T ? true : false : false;
1070
+ /**
1071
+ * Helper to check if a token exists in the rest of the array.
1072
+ * Uses strict type equality to avoid false positives.
1073
+ *
1074
+ * Note: Plain symbols without branding (e.g., Symbol('x')) are all seen as 'symbol' type
1075
+ * by TypeScript, so we skip duplicate detection for plain symbols to avoid false positives.
1076
+ * For proper token validation, use branded symbols or class tokens.
1077
+ */
1078
+ type HasTokenDuplicate<Token, Rest> = Token extends symbol ? symbol extends Token ? false : HasTokenDuplicateCheck<Token, Rest> : HasTokenDuplicateCheck<Token, Rest>;
1079
+ type HasTokenDuplicateCheck<Token, Rest> = Rest extends readonly [infer First, ...infer Tail] ? First extends {
1080
+ token: infer T;
1081
+ } ? StrictEquals<Token, T> extends true ? true : HasTokenDuplicateCheck<Token, Tail> : HasTokenDuplicateCheck<Token, Tail> : false;
1011
1082
  /**
1012
1083
  * Validates that local listeners do not duplicate listeners already defined in partials.
1013
1084
  * Duplicate = Same Event class AND Same Listener class.
1085
+ *
1086
+ * Applies both:
1087
+ * 1. Internal duplicate detection (within same array)
1088
+ * 2. Partial collision detection (against inherited listeners)
1089
+ */
1090
+ type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListenerUnion] extends [never] ? ValidateListenersInternal<LocalListeners> : ValidateListenersInternal<ValidateListenersAgainstPartialsFixed<LocalListeners, InheritedListenerUnion>>;
1091
+ /**
1092
+ * Check each local listener against inherited listeners from partials.
1093
+ * Only flags entries where BOTH event AND listener match exactly.
1014
1094
  */
1015
- type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListenerUnion] extends [never] ? LocalListeners : { [K in keyof LocalListeners]: LocalListeners[K] extends {
1095
+ type ValidateListenersAgainstPartialsFixed<LocalListeners, InheritedListenerUnion> = { [K in keyof LocalListeners]: LocalListeners[K] extends {
1016
1096
  event: infer E;
1017
1097
  listener: infer L;
1018
- } ? {
1019
- event: E;
1020
- listener: L;
1021
- } extends InheritedListenerUnion ? {
1098
+ } ? true extends CheckListenerInUnionDistributive<E, L, InheritedListenerUnion> ? {
1022
1099
  error: '[WireDI] This event listener is already registered in a partial';
1023
1100
  event: E;
1024
1101
  listener: L;
1025
1102
  hint: 'Each (event, listener) pair can only be registered once.';
1026
1103
  } : LocalListeners[K] : LocalListeners[K] };
1104
+ /**
1105
+ * Check if a (event, listener) pair exists in a union.
1106
+ * Distributes over the union to check each member.
1107
+ * Uses StrictEquals for exact type comparison.
1108
+ */
1109
+ type CheckListenerInUnionDistributive<E, L, Union> = Union extends {
1110
+ event: infer UE;
1111
+ listener: infer UL;
1112
+ } ? StrictEquals<E, UE> extends true ? StrictEquals<L, UL> extends true ? true : false : false : false;
1113
+ /**
1114
+ * Strict type equality check.
1115
+ * Returns true only if A and B are exactly the same type.
1116
+ */
1117
+ type StrictEquals<A, B> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? true : false;
1118
+ /**
1119
+ * Validates that there are no duplicate listeners within the same array.
1120
+ * Checks each listener against all following listeners.
1121
+ * A duplicate is defined as having BOTH the same event AND the same listener.
1122
+ */
1123
+ type ValidateListenersInternal<T> = T extends readonly [] ? T : T extends readonly [infer First, ...infer Rest] ? First extends {
1124
+ event: infer E;
1125
+ listener: infer L;
1126
+ } ? HasExactDuplicate<E, L, Rest> extends true ? [{
1127
+ error: '[WireDI] Duplicate listener in the same configuration';
1128
+ event: E;
1129
+ listener: L;
1130
+ hint: 'Each (event, listener) pair must be unique within the configuration.';
1131
+ }, ...ValidateListenersInternal<Rest>] : [First, ...ValidateListenersInternal<Rest>] : [First, ...ValidateListenersInternal<Rest>] : T;
1132
+ /**
1133
+ * Helper to check if an exact (event, listener) pair exists in the rest of the array.
1134
+ * Uses strict type equality to avoid false positives with structurally similar types.
1135
+ */
1136
+ type HasExactDuplicate<E, L, Rest> = Rest extends readonly [infer First, ...infer Tail] ? First extends {
1137
+ event: infer FE;
1138
+ listener: infer FL;
1139
+ } ? StrictEquals<E, FE> extends true ? StrictEquals<L, FL> extends true ? true : HasExactDuplicate<E, L, Tail> : HasExactDuplicate<E, L, Tail> : HasExactDuplicate<E, L, Tail> : false;
1027
1140
  /**
1028
1141
  * A helper function to define a builder configuration with strict type inference and inheritance.
1029
1142
  * Use this instead of manually casting with `satisfies BuilderConfig` or `as const`
@@ -1099,11 +1212,11 @@ type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListe
1099
1212
  * // const value = resolve(MY_VALUE_TOKEN);
1100
1213
  * ```
1101
1214
  */
1102
- declare function defineBuilderConfig<C = null, const Partials extends readonly TypedPartialConfig<C, any>[] = [], const LocalInjections extends InjectionConfig<C> = InjectionConfig<C>, const LocalListeners extends EventConfig = EventConfig>(config: {
1215
+ declare function defineBuilderConfig<C = null, const Partials extends readonly TypedPartialConfig<C, any, any>[] = [], const LocalInjections extends InjectionConfig<C> = InjectionConfig<C>, const LocalListeners extends EventConfig | undefined = EventConfig | undefined>(config: {
1103
1216
  builderId: string;
1104
1217
  extends?: Partials;
1105
1218
  injections: ValidateInjections<LocalInjections, ExtractTokensFromTypedPartials<Partials>[number]>;
1106
- listeners: ValidateListeners<LocalListeners, ExtractListenersFromPartials<Partials>>;
1219
+ listeners?: ValidateListeners<LocalListeners, ExtractListenersFromPartials<Partials>>;
1107
1220
  }): TypedBuilderConfig<C, [...ExtractTokensFromTypedPartials<Partials>, ...ExtractTokens<LocalInjections>]>;
1108
1221
  /**
1109
1222
  * A composable function for setting up and interacting with a dependency injection container
@@ -1135,5 +1248,5 @@ declare function defineBuilderConfig<C = null, const Partials extends readonly T
1135
1248
  */
1136
1249
  declare function useBuilder<C = null, Tokens extends readonly any[] = []>(config: TypedBuilderConfig<C, Tokens>, context?: C): IUseBuilder<Tokens[number]>;
1137
1250
  //#endregion
1138
- export { AwilixProvider, type AwilixProviderOptions, BuilderConfig, type ContainerProvider, EventConfig, type EventDispatcherProvider, type EventDispatcherProviderOptions, type EventListenerEntry, type EventToken, InjectionConfig, InversifyProvider, type InversifyProviderOptions, type ListenerToken, MutableEventDispatcherProvider, PartialBuilderConfig, type ProviderAdapterOptions, ProviderLifecycle, type ProviderToken, type TsyringeDependencies, type TsyringeDependencyContainer, type TsyringeLifecycle, TsyringeProvider, type TsyringeProviderOptions, TypedBuilderConfig, TypedPartialConfig, useBuilder as default, defineBuilderConfig, definePartialConfig, getContainerProvider, getEventDispatcherProvider, hasContainerProvider, hasEventDispatcherProvider, resetContainerProvider, resetEventDispatcherProvider, useContainerProvider, useEventDispatcherProvider };
1251
+ export { AwilixProvider, type AwilixProviderOptions, BuilderConfig, type ContainerProvider, EventConfig, type EventDispatcherProvider, type EventDispatcherProviderOptions, type EventListenerEntry, type EventToken, InjectionConfig, InversifyProvider, type InversifyProviderOptions, type ListenerToken, MutableEventDispatcherProvider, PartialBuilderConfig, type ProviderAdapterOptions, ProviderLifecycle, type ProviderToken, type TsyringeDependencies, type TsyringeDependencyContainer, type TsyringeLifecycle, TsyringeProvider, type TsyringeProviderOptions, TypedBuilderConfig, TypedPartialConfig, defineBuilderConfig, definePartialConfig, getContainerProvider, getEventDispatcherProvider, hasContainerProvider, hasEventDispatcherProvider, resetContainerProvider, resetEventDispatcherProvider, useBuilder, useContainerProvider, useEventDispatcherProvider };
1139
1252
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/Provider/types.ts","../src/Provider/ProviderManager.ts","../src/Provider/adapters/TsyringeProvider.ts","../src/Provider/adapters/AwilixProvider.ts","../src/Provider/adapters/InversifyProvider.ts","../src/EventDispatcher/Provider/types.ts","../src/EventDispatcher/Provider/MutableEventDispatcherProvider.ts","../src/EventDispatcher/Provider/index.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/Provider/types.ts","../src/Provider/ProviderManager.ts","../src/Provider/adapters/TsyringeProvider.ts","../src/Provider/adapters/AwilixProvider.ts","../src/Provider/adapters/InversifyProvider.ts","../src/EventDispatcher/Provider/types.ts","../src/EventDispatcher/Provider/MutableEventDispatcherProvider.ts","../src/EventDispatcher/Provider/index.ts","../src/index.ts"],"mappings":"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"}