@djodjonx/wiredi 0.0.10 → 0.0.12

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 +147 -20
  2. package/dist/index.cjs +12 -4
  3. package/dist/index.cjs.map +1 -1
  4. package/dist/index.d.cts +70 -17
  5. package/dist/index.d.cts.map +1 -1
  6. package/dist/index.d.mts +70 -17
  7. package/dist/index.d.mts.map +1 -1
  8. package/dist/index.mjs +12 -4
  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 +9 -1
package/dist/index.d.mts 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,7 +889,7 @@ 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;
892
+ type Constructor<T = unknown> = new (...args: unknown[]) => T;
883
893
  interface BuilderConfigEntryValue<C = null> {
884
894
  token: symbol;
885
895
  value: (context?: C) => any;
@@ -907,7 +917,7 @@ type EventConfig = readonly EventEntry[];
907
917
  interface BuilderConfig<C = null> {
908
918
  builderId: string;
909
919
  injections: InjectionConfig<C>;
910
- listeners: EventConfig;
920
+ listeners?: EventConfig;
911
921
  }
912
922
  /**
913
923
  * A partial builder configuration that defines a set of injections and listeners.
@@ -1012,18 +1022,61 @@ type ValidateInjections<LocalInjections, InheritedTokenUnion> = [InheritedTokenU
1012
1022
  * Validates that local listeners do not duplicate listeners already defined in partials.
1013
1023
  * Duplicate = Same Event class AND Same Listener class.
1014
1024
  */
1015
- type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListenerUnion] extends [never] ? LocalListeners : { [K in keyof LocalListeners]: LocalListeners[K] extends {
1025
+ type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListenerUnion] extends [never] ? ValidateListenersInternal<LocalListeners> : ValidateListenersAgainstPartials<LocalListeners, InheritedListenerUnion>;
1026
+ /**
1027
+ * Check each local listener against inherited listeners from partials.
1028
+ * Uses strict type equality to avoid false positives.
1029
+ */
1030
+ type ValidateListenersAgainstPartials<LocalListeners, InheritedListenerUnion> = { [K in keyof LocalListeners]: LocalListeners[K] extends {
1016
1031
  event: infer E;
1017
1032
  listener: infer L;
1018
- } ? {
1019
- event: E;
1020
- listener: L;
1021
- } extends InheritedListenerUnion ? {
1033
+ } ? IsListenerInUnion<E, L, InheritedListenerUnion> extends true ? {
1022
1034
  error: '[WireDI] This event listener is already registered in a partial';
1023
1035
  event: E;
1024
1036
  listener: L;
1025
1037
  hint: 'Each (event, listener) pair can only be registered once.';
1026
1038
  } : LocalListeners[K] : LocalListeners[K] };
1039
+ /**
1040
+ * Check if a specific (event, listener) pair exists in a union of listener entries.
1041
+ * Uses strict type equality for both event AND listener.
1042
+ */
1043
+ type IsListenerInUnion<E, L, Union> = Union extends {
1044
+ event: infer UE;
1045
+ listener: infer UL;
1046
+ } ? StrictEquals<E, UE> extends true ? StrictEquals<L, UL> extends true ? true : IsListenerInUnion<E, L, Exclude<Union, {
1047
+ event: UE;
1048
+ listener: UL;
1049
+ }>> : IsListenerInUnion<E, L, Exclude<Union, {
1050
+ event: UE;
1051
+ listener: UL;
1052
+ }>> : false;
1053
+ /**
1054
+ * Strict type equality check.
1055
+ * Returns true only if A and B are exactly the same type.
1056
+ */
1057
+ type StrictEquals<A, B> = (<T>() => T extends A ? 1 : 2) extends (<T>() => T extends B ? 1 : 2) ? true : false;
1058
+ /**
1059
+ * Validates that there are no duplicate listeners within the same array.
1060
+ * Checks each listener against all following listeners.
1061
+ * A duplicate is defined as having BOTH the same event AND the same listener.
1062
+ */
1063
+ type ValidateListenersInternal<T> = T extends readonly [] ? T : T extends readonly [infer First, ...infer Rest] ? First extends {
1064
+ event: infer E;
1065
+ listener: infer L;
1066
+ } ? HasExactDuplicate<E, L, Rest> extends true ? [{
1067
+ error: '[WireDI] Duplicate listener in the same configuration';
1068
+ event: E;
1069
+ listener: L;
1070
+ hint: 'Each (event, listener) pair must be unique within the configuration.';
1071
+ }, ...ValidateListenersInternal<Rest>] : [First, ...ValidateListenersInternal<Rest>] : [First, ...ValidateListenersInternal<Rest>] : T;
1072
+ /**
1073
+ * Helper to check if an exact (event, listener) pair exists in the rest of the array.
1074
+ * Uses strict type equality to avoid false positives with structurally similar types.
1075
+ */
1076
+ type HasExactDuplicate<E, L, Rest> = Rest extends readonly [infer First, ...infer Tail] ? First extends {
1077
+ event: infer FE;
1078
+ listener: infer FL;
1079
+ } ? 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
1080
  /**
1028
1081
  * A helper function to define a builder configuration with strict type inference and inheritance.
1029
1082
  * Use this instead of manually casting with `satisfies BuilderConfig` or `as const`
@@ -1099,11 +1152,11 @@ type ValidateListeners<LocalListeners, InheritedListenerUnion> = [InheritedListe
1099
1152
  * // const value = resolve(MY_VALUE_TOKEN);
1100
1153
  * ```
1101
1154
  */
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: {
1155
+ declare function defineBuilderConfig<C = null, const Partials extends readonly TypedPartialConfig<C, any>[] = [], const LocalInjections extends InjectionConfig<C> = InjectionConfig<C>, const LocalListeners extends EventConfig | undefined = EventConfig | undefined>(config: {
1103
1156
  builderId: string;
1104
1157
  extends?: Partials;
1105
1158
  injections: ValidateInjections<LocalInjections, ExtractTokensFromTypedPartials<Partials>[number]>;
1106
- listeners: ValidateListeners<LocalListeners, ExtractListenersFromPartials<Partials>>;
1159
+ listeners?: ValidateListeners<LocalListeners, ExtractListenersFromPartials<Partials>>;
1107
1160
  }): TypedBuilderConfig<C, [...ExtractTokensFromTypedPartials<Partials>, ...ExtractTokens<LocalInjections>]>;
1108
1161
  /**
1109
1162
  * A composable function for setting up and interacting with a dependency injection container
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","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.mts","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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"}
package/dist/index.mjs CHANGED
@@ -619,7 +619,8 @@ var MutableEventDispatcherProvider = class {
619
619
  for (const listenerToken of listenerTokens) try {
620
620
  this.containerProvider.resolve(listenerToken).onEvent(event);
621
621
  } catch (error) {
622
- console.error(`[MutableEventDispatcherProvider] Error dispatching event "${eventName}":`, error.stack || error.message);
622
+ const errorMessage = error instanceof Error ? error.stack || error.message : String(error);
623
+ console.error(`[MutableEventDispatcherProvider] Error dispatching event "${eventName}":`, errorMessage);
623
624
  throw error;
624
625
  }
625
626
  }
@@ -630,6 +631,13 @@ var MutableEventDispatcherProvider = class {
630
631
  return listeners !== void 0 && listeners.length > 0;
631
632
  }
632
633
  /** @inheritdoc */
634
+ hasListener(eventToken, listenerToken) {
635
+ const eventName = this.getEventName(eventToken);
636
+ const listeners = this.listeners.get(eventName);
637
+ if (!listeners) return false;
638
+ return listeners.includes(listenerToken);
639
+ }
640
+ /** @inheritdoc */
633
641
  clearListeners(eventToken) {
634
642
  const eventName = this.getEventName(eventToken);
635
643
  this.listeners.delete(eventName);
@@ -764,11 +772,11 @@ function registerConfig(provider, injections, context) {
764
772
  });
765
773
  }
766
774
  function registerEvent(_provider, listeners) {
767
- if (!listeners.length) return;
775
+ if (!listeners || !listeners.length) return;
768
776
  if (!hasEventDispatcherProvider()) return;
769
777
  const eventDispatcher = getEventDispatcherProvider();
770
778
  listeners.forEach((configEntry) => {
771
- eventDispatcher.register(configEntry.event, configEntry.listener);
779
+ if (!eventDispatcher.hasListener(configEntry.event, configEntry.listener)) eventDispatcher.register(configEntry.event, configEntry.listener);
772
780
  });
773
781
  }
774
782
  /**
@@ -863,7 +871,7 @@ function definePartialConfig(config) {
863
871
  */
864
872
  function defineBuilderConfig(config) {
865
873
  const mergedInjections = [...config.injections, ...(config.extends || []).flatMap((p) => p.injections || [])];
866
- const mergedListeners = [...(config.extends || []).flatMap((p) => p.listeners || []), ...config.listeners];
874
+ const mergedListeners = [...(config.extends || []).flatMap((p) => p.listeners || []), ...config.listeners || []];
867
875
  return {
868
876
  ...config,
869
877
  injections: mergedInjections,