@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/_tsup-dts-rollup.d.mts +5 -1
- package/lib/_tsup-dts-rollup.d.ts +5 -1
- package/lib/index.js +31 -11
- package/lib/index.js.map +1 -1
- package/lib/index.mjs +31 -11
- package/lib/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/request-scope.spec.mts +164 -0
- package/src/request-context-holder.mts +33 -4
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
|
-
|
|
637
|
-
|
|
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) {
|