@navios/di 0.3.0 → 0.3.1

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/lib/index.mjs CHANGED
@@ -617,6 +617,15 @@ var ServiceInstantiator = class {
617
617
  }
618
618
  };
619
619
 
620
+ // src/service-locator-instance-holder.mts
621
+ var ServiceLocatorInstanceHolderStatus = /* @__PURE__ */ ((ServiceLocatorInstanceHolderStatus2) => {
622
+ ServiceLocatorInstanceHolderStatus2["Created"] = "created";
623
+ ServiceLocatorInstanceHolderStatus2["Creating"] = "creating";
624
+ ServiceLocatorInstanceHolderStatus2["Destroying"] = "destroying";
625
+ ServiceLocatorInstanceHolderStatus2["Error"] = "error";
626
+ return ServiceLocatorInstanceHolderStatus2;
627
+ })(ServiceLocatorInstanceHolderStatus || {});
628
+
620
629
  // src/request-context-holder.mts
621
630
  var DefaultRequestContextHolder = class {
622
631
  constructor(requestId, priority = 100, initialMetadata) {
@@ -633,8 +642,28 @@ var DefaultRequestContextHolder = class {
633
642
  metadata = /* @__PURE__ */ new Map();
634
643
  createdAt = Date.now();
635
644
  addInstance(instanceName, instance, holder) {
636
- this.instances.set(instanceName, instance);
637
- this.holders.set(instanceName, holder);
645
+ if (instanceName instanceof InjectionToken) {
646
+ this.instances.set(instanceName.toString(), instance);
647
+ this.holders.set(instanceName.toString(), {
648
+ instance,
649
+ status: "created" /* Created */,
650
+ creationPromise: null,
651
+ destroyPromise: null,
652
+ destroyListeners: [],
653
+ deps: /* @__PURE__ */ new Set(),
654
+ name: instanceName.toString(),
655
+ type: "Class" /* Class */,
656
+ scope: "Singleton" /* Singleton */,
657
+ createdAt: Date.now(),
658
+ ttl: Infinity
659
+ });
660
+ } else {
661
+ if (!holder) {
662
+ throw new Error("Holder is required when adding an instance by name");
663
+ }
664
+ this.instances.set(instanceName, instance);
665
+ this.holders.set(instanceName, holder);
666
+ }
638
667
  }
639
668
  getInstance(instanceName) {
640
669
  return this.instances.get(instanceName);
@@ -712,15 +741,6 @@ var ServiceLocatorEventBus = class {
712
741
  }
713
742
  };
714
743
 
715
- // src/service-locator-instance-holder.mts
716
- var ServiceLocatorInstanceHolderStatus = /* @__PURE__ */ ((ServiceLocatorInstanceHolderStatus2) => {
717
- ServiceLocatorInstanceHolderStatus2["Created"] = "created";
718
- ServiceLocatorInstanceHolderStatus2["Creating"] = "creating";
719
- ServiceLocatorInstanceHolderStatus2["Destroying"] = "destroying";
720
- ServiceLocatorInstanceHolderStatus2["Error"] = "error";
721
- return ServiceLocatorInstanceHolderStatus2;
722
- })(ServiceLocatorInstanceHolderStatus || {});
723
-
724
744
  // src/service-locator-manager.mts
725
745
  var ServiceLocatorManager = class {
726
746
  constructor(logger = null) {