awilix 12.1.0 → 12.1.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/awilix.browser.mjs +49 -55
- package/lib/awilix.module.mjs +51 -56
- package/lib/awilix.umd.js +49 -55
- package/lib/camel-case.js +2 -1
- package/lib/camel-case.js.map +1 -1
- package/lib/container.js +36 -36
- package/lib/container.js.map +1 -1
- package/lib/resolvers.js +13 -7
- package/lib/resolvers.js.map +1 -1
- package/package.json +3 -1
package/lib/awilix.browser.mjs
CHANGED
|
@@ -511,18 +511,6 @@ fn) {
|
|
|
511
511
|
function isFunction(val) {
|
|
512
512
|
return typeof val === 'function';
|
|
513
513
|
}
|
|
514
|
-
/**
|
|
515
|
-
* Returns the unique items in the array.
|
|
516
|
-
*
|
|
517
|
-
* @param {Array<T>}
|
|
518
|
-
* The array to remove dupes from.
|
|
519
|
-
*
|
|
520
|
-
* @return {Array<T>}
|
|
521
|
-
* The deduped array.
|
|
522
|
-
*/
|
|
523
|
-
function uniq(arr) {
|
|
524
|
-
return Array.from(new Set(arr));
|
|
525
|
-
}
|
|
526
514
|
|
|
527
515
|
/*
|
|
528
516
|
* Parses the parameter list of a function string, including ES6 class constructors.
|
|
@@ -884,10 +872,16 @@ function wrapWithLocals(container, locals) {
|
|
|
884
872
|
*/
|
|
885
873
|
function createInjectorProxy(container, injector) {
|
|
886
874
|
const locals = injector(container);
|
|
887
|
-
const
|
|
888
|
-
|
|
889
|
-
|
|
890
|
-
|
|
875
|
+
const keySet = new Set(Object.keys(container.registrations));
|
|
876
|
+
for (const s of Object.getOwnPropertySymbols(container.registrations)) {
|
|
877
|
+
keySet.add(s);
|
|
878
|
+
}
|
|
879
|
+
for (const k of Object.keys(locals)) {
|
|
880
|
+
keySet.add(k);
|
|
881
|
+
}
|
|
882
|
+
for (const s of Object.getOwnPropertySymbols(locals)) {
|
|
883
|
+
keySet.add(s);
|
|
884
|
+
}
|
|
891
885
|
// TODO: Lots of duplication here from the container proxy.
|
|
892
886
|
// Need to refactor.
|
|
893
887
|
const proxy = new Proxy({}, {
|
|
@@ -914,13 +908,13 @@ function createInjectorProxy(container, injector) {
|
|
|
914
908
|
* Used for `Object.keys`.
|
|
915
909
|
*/
|
|
916
910
|
ownKeys() {
|
|
917
|
-
return
|
|
911
|
+
return [...keySet];
|
|
918
912
|
},
|
|
919
913
|
/**
|
|
920
914
|
* Used for `Object.keys`.
|
|
921
915
|
*/
|
|
922
|
-
getOwnPropertyDescriptor(
|
|
923
|
-
if (
|
|
916
|
+
getOwnPropertyDescriptor(_target, key) {
|
|
917
|
+
if (keySet.has(key)) {
|
|
924
918
|
return {
|
|
925
919
|
enumerable: true,
|
|
926
920
|
configurable: true,
|
|
@@ -1227,8 +1221,11 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
1227
1221
|
try {
|
|
1228
1222
|
// Grab the registration by name.
|
|
1229
1223
|
const resolver = getRegistration(name);
|
|
1230
|
-
|
|
1231
|
-
|
|
1224
|
+
// Cycle detection: scan the resolution stack.
|
|
1225
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1226
|
+
if (resolutionStack[i].name === name) {
|
|
1227
|
+
throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
|
|
1228
|
+
}
|
|
1232
1229
|
}
|
|
1233
1230
|
// Used in JSON.stringify.
|
|
1234
1231
|
if (name === 'toJSON') {
|
|
@@ -1263,57 +1260,54 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
1263
1260
|
throw new AwilixResolutionError(name, resolutionStack);
|
|
1264
1261
|
}
|
|
1265
1262
|
const lifetime = resolver.lifetime || Lifetime.TRANSIENT;
|
|
1266
|
-
// if
|
|
1267
|
-
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1263
|
+
// Throws if a shorter-lived dependency is resolved through a longer-lived ancestor.
|
|
1264
|
+
function throwIfLifetimeLeakage(depName, depLifetime, dep) {
|
|
1265
|
+
if (!options.strict || dep.isLeakSafe)
|
|
1266
|
+
return;
|
|
1267
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1268
|
+
if (isLifetimeLonger(resolutionStack[i].lifetime, depLifetime)) {
|
|
1269
|
+
throw new AwilixResolutionError(depName, resolutionStack, `Dependency '${depName.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[i].name.toString()}'`);
|
|
1270
|
+
}
|
|
1271
|
+
}
|
|
1272
|
+
}
|
|
1273
|
+
// Fast path: cached singletons can always be returned immediately
|
|
1274
|
+
// since nothing has a longer lifetime.
|
|
1275
|
+
if (lifetime === Lifetime.SINGLETON) {
|
|
1276
|
+
const cached = rootContainer.cache.get(name);
|
|
1277
|
+
if (cached) {
|
|
1278
|
+
return cached.value;
|
|
1279
|
+
}
|
|
1280
|
+
}
|
|
1281
|
+
// Fast path: cached scoped values can be returned immediately,
|
|
1282
|
+
// but in strict mode we still need to verify lifetime constraints.
|
|
1283
|
+
if (lifetime === Lifetime.SCOPED) {
|
|
1284
|
+
const cached = container.cache.get(name);
|
|
1285
|
+
if (cached !== undefined) {
|
|
1286
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1287
|
+
return cached.value;
|
|
1272
1288
|
}
|
|
1273
1289
|
}
|
|
1274
|
-
//
|
|
1290
|
+
// Slow path: need to invoke the factory.
|
|
1291
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1275
1292
|
resolutionStack.push({ name, lifetime });
|
|
1276
|
-
// Do the thing
|
|
1277
|
-
let cached;
|
|
1278
1293
|
let resolved;
|
|
1279
1294
|
switch (lifetime) {
|
|
1280
1295
|
case Lifetime.TRANSIENT:
|
|
1281
|
-
// Transient lifetime means resolve every time.
|
|
1282
1296
|
resolved = resolver.resolve(container);
|
|
1283
1297
|
break;
|
|
1284
1298
|
case Lifetime.SINGLETON:
|
|
1285
|
-
//
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
// if we are running in strict mode, perform singleton resolution using the root
|
|
1289
|
-
// container only.
|
|
1290
|
-
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1291
|
-
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1292
|
-
}
|
|
1293
|
-
else {
|
|
1294
|
-
resolved = cached.value;
|
|
1295
|
-
}
|
|
1299
|
+
// Cache was already checked above, so this is always a miss.
|
|
1300
|
+
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1301
|
+
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1296
1302
|
break;
|
|
1297
1303
|
case Lifetime.SCOPED:
|
|
1298
|
-
//
|
|
1299
|
-
// that resolves the registration also caches it.
|
|
1300
|
-
// If this container cache does not have it,
|
|
1301
|
-
// resolve and cache it rather than using the parent
|
|
1302
|
-
// container's cache.
|
|
1303
|
-
cached = container.cache.get(name);
|
|
1304
|
-
if (cached !== undefined) {
|
|
1305
|
-
// We found one!
|
|
1306
|
-
resolved = cached.value;
|
|
1307
|
-
break;
|
|
1308
|
-
}
|
|
1309
|
-
// If we still have not found one, we need to resolve and cache it.
|
|
1304
|
+
// Cache was already checked above, so this is always a miss.
|
|
1310
1305
|
resolved = resolver.resolve(container);
|
|
1311
1306
|
container.cache.set(name, { resolver, value: resolved });
|
|
1312
1307
|
break;
|
|
1313
1308
|
default:
|
|
1314
1309
|
throw new AwilixResolutionError(name, resolutionStack, `Unknown lifetime "${resolver.lifetime}"`);
|
|
1315
1310
|
}
|
|
1316
|
-
// Pop it from the stack again, ready for the next resolution
|
|
1317
1311
|
resolutionStack.pop();
|
|
1318
1312
|
return resolved;
|
|
1319
1313
|
}
|
package/lib/awilix.module.mjs
CHANGED
|
@@ -535,18 +535,6 @@ fn) {
|
|
|
535
535
|
function isFunction(val) {
|
|
536
536
|
return typeof val === 'function';
|
|
537
537
|
}
|
|
538
|
-
/**
|
|
539
|
-
* Returns the unique items in the array.
|
|
540
|
-
*
|
|
541
|
-
* @param {Array<T>}
|
|
542
|
-
* The array to remove dupes from.
|
|
543
|
-
*
|
|
544
|
-
* @return {Array<T>}
|
|
545
|
-
* The deduped array.
|
|
546
|
-
*/
|
|
547
|
-
function uniq(arr) {
|
|
548
|
-
return Array.from(new Set(arr));
|
|
549
|
-
}
|
|
550
538
|
|
|
551
539
|
// Regex to extract the module name.
|
|
552
540
|
const nameExpr = /(.*)\..*/i;
|
|
@@ -618,8 +606,9 @@ function listModules(globPatterns, opts) {
|
|
|
618
606
|
*/
|
|
619
607
|
function camelCase(input) {
|
|
620
608
|
const len = input.length;
|
|
621
|
-
if (len === 0)
|
|
609
|
+
if (len === 0) {
|
|
622
610
|
return '';
|
|
611
|
+
}
|
|
623
612
|
let result = '';
|
|
624
613
|
let wordIdx = 0;
|
|
625
614
|
let wordPos = 0;
|
|
@@ -1051,10 +1040,16 @@ function wrapWithLocals(container, locals) {
|
|
|
1051
1040
|
*/
|
|
1052
1041
|
function createInjectorProxy(container, injector) {
|
|
1053
1042
|
const locals = injector(container);
|
|
1054
|
-
const
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1043
|
+
const keySet = new Set(Object.keys(container.registrations));
|
|
1044
|
+
for (const s of Object.getOwnPropertySymbols(container.registrations)) {
|
|
1045
|
+
keySet.add(s);
|
|
1046
|
+
}
|
|
1047
|
+
for (const k of Object.keys(locals)) {
|
|
1048
|
+
keySet.add(k);
|
|
1049
|
+
}
|
|
1050
|
+
for (const s of Object.getOwnPropertySymbols(locals)) {
|
|
1051
|
+
keySet.add(s);
|
|
1052
|
+
}
|
|
1058
1053
|
// TODO: Lots of duplication here from the container proxy.
|
|
1059
1054
|
// Need to refactor.
|
|
1060
1055
|
const proxy = new Proxy({}, {
|
|
@@ -1081,13 +1076,13 @@ function createInjectorProxy(container, injector) {
|
|
|
1081
1076
|
* Used for `Object.keys`.
|
|
1082
1077
|
*/
|
|
1083
1078
|
ownKeys() {
|
|
1084
|
-
return
|
|
1079
|
+
return [...keySet];
|
|
1085
1080
|
},
|
|
1086
1081
|
/**
|
|
1087
1082
|
* Used for `Object.keys`.
|
|
1088
1083
|
*/
|
|
1089
|
-
getOwnPropertyDescriptor(
|
|
1090
|
-
if (
|
|
1084
|
+
getOwnPropertyDescriptor(_target, key) {
|
|
1085
|
+
if (keySet.has(key)) {
|
|
1091
1086
|
return {
|
|
1092
1087
|
enumerable: true,
|
|
1093
1088
|
configurable: true,
|
|
@@ -1580,8 +1575,11 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
1580
1575
|
try {
|
|
1581
1576
|
// Grab the registration by name.
|
|
1582
1577
|
const resolver = getRegistration(name);
|
|
1583
|
-
|
|
1584
|
-
|
|
1578
|
+
// Cycle detection: scan the resolution stack.
|
|
1579
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1580
|
+
if (resolutionStack[i].name === name) {
|
|
1581
|
+
throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
|
|
1582
|
+
}
|
|
1585
1583
|
}
|
|
1586
1584
|
// Used in JSON.stringify.
|
|
1587
1585
|
if (name === 'toJSON') {
|
|
@@ -1617,57 +1615,54 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
1617
1615
|
throw new AwilixResolutionError(name, resolutionStack);
|
|
1618
1616
|
}
|
|
1619
1617
|
const lifetime = resolver.lifetime || Lifetime.TRANSIENT;
|
|
1620
|
-
// if
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1618
|
+
// Throws if a shorter-lived dependency is resolved through a longer-lived ancestor.
|
|
1619
|
+
function throwIfLifetimeLeakage(depName, depLifetime, dep) {
|
|
1620
|
+
if (!options.strict || dep.isLeakSafe)
|
|
1621
|
+
return;
|
|
1622
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1623
|
+
if (isLifetimeLonger(resolutionStack[i].lifetime, depLifetime)) {
|
|
1624
|
+
throw new AwilixResolutionError(depName, resolutionStack, `Dependency '${depName.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[i].name.toString()}'`);
|
|
1625
|
+
}
|
|
1626
|
+
}
|
|
1627
|
+
}
|
|
1628
|
+
// Fast path: cached singletons can always be returned immediately
|
|
1629
|
+
// since nothing has a longer lifetime.
|
|
1630
|
+
if (lifetime === Lifetime.SINGLETON) {
|
|
1631
|
+
const cached = rootContainer.cache.get(name);
|
|
1632
|
+
if (cached) {
|
|
1633
|
+
return cached.value;
|
|
1634
|
+
}
|
|
1635
|
+
}
|
|
1636
|
+
// Fast path: cached scoped values can be returned immediately,
|
|
1637
|
+
// but in strict mode we still need to verify lifetime constraints.
|
|
1638
|
+
if (lifetime === Lifetime.SCOPED) {
|
|
1639
|
+
const cached = container.cache.get(name);
|
|
1640
|
+
if (cached !== undefined) {
|
|
1641
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1642
|
+
return cached.value;
|
|
1626
1643
|
}
|
|
1627
1644
|
}
|
|
1628
|
-
//
|
|
1645
|
+
// Slow path: need to invoke the factory.
|
|
1646
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1629
1647
|
resolutionStack.push({ name, lifetime });
|
|
1630
|
-
// Do the thing
|
|
1631
|
-
let cached;
|
|
1632
1648
|
let resolved;
|
|
1633
1649
|
switch (lifetime) {
|
|
1634
1650
|
case Lifetime.TRANSIENT:
|
|
1635
|
-
// Transient lifetime means resolve every time.
|
|
1636
1651
|
resolved = resolver.resolve(container);
|
|
1637
1652
|
break;
|
|
1638
1653
|
case Lifetime.SINGLETON:
|
|
1639
|
-
//
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
// if we are running in strict mode, perform singleton resolution using the root
|
|
1643
|
-
// container only.
|
|
1644
|
-
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1645
|
-
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1646
|
-
}
|
|
1647
|
-
else {
|
|
1648
|
-
resolved = cached.value;
|
|
1649
|
-
}
|
|
1654
|
+
// Cache was already checked above, so this is always a miss.
|
|
1655
|
+
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1656
|
+
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1650
1657
|
break;
|
|
1651
1658
|
case Lifetime.SCOPED:
|
|
1652
|
-
//
|
|
1653
|
-
// that resolves the registration also caches it.
|
|
1654
|
-
// If this container cache does not have it,
|
|
1655
|
-
// resolve and cache it rather than using the parent
|
|
1656
|
-
// container's cache.
|
|
1657
|
-
cached = container.cache.get(name);
|
|
1658
|
-
if (cached !== undefined) {
|
|
1659
|
-
// We found one!
|
|
1660
|
-
resolved = cached.value;
|
|
1661
|
-
break;
|
|
1662
|
-
}
|
|
1663
|
-
// If we still have not found one, we need to resolve and cache it.
|
|
1659
|
+
// Cache was already checked above, so this is always a miss.
|
|
1664
1660
|
resolved = resolver.resolve(container);
|
|
1665
1661
|
container.cache.set(name, { resolver, value: resolved });
|
|
1666
1662
|
break;
|
|
1667
1663
|
default:
|
|
1668
1664
|
throw new AwilixResolutionError(name, resolutionStack, `Unknown lifetime "${resolver.lifetime}"`);
|
|
1669
1665
|
}
|
|
1670
|
-
// Pop it from the stack again, ready for the next resolution
|
|
1671
1666
|
resolutionStack.pop();
|
|
1672
1667
|
return resolved;
|
|
1673
1668
|
}
|
package/lib/awilix.umd.js
CHANGED
|
@@ -517,18 +517,6 @@
|
|
|
517
517
|
function isFunction(val) {
|
|
518
518
|
return typeof val === 'function';
|
|
519
519
|
}
|
|
520
|
-
/**
|
|
521
|
-
* Returns the unique items in the array.
|
|
522
|
-
*
|
|
523
|
-
* @param {Array<T>}
|
|
524
|
-
* The array to remove dupes from.
|
|
525
|
-
*
|
|
526
|
-
* @return {Array<T>}
|
|
527
|
-
* The deduped array.
|
|
528
|
-
*/
|
|
529
|
-
function uniq(arr) {
|
|
530
|
-
return Array.from(new Set(arr));
|
|
531
|
-
}
|
|
532
520
|
|
|
533
521
|
/*
|
|
534
522
|
* Parses the parameter list of a function string, including ES6 class constructors.
|
|
@@ -890,10 +878,16 @@
|
|
|
890
878
|
*/
|
|
891
879
|
function createInjectorProxy(container, injector) {
|
|
892
880
|
const locals = injector(container);
|
|
893
|
-
const
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
881
|
+
const keySet = new Set(Object.keys(container.registrations));
|
|
882
|
+
for (const s of Object.getOwnPropertySymbols(container.registrations)) {
|
|
883
|
+
keySet.add(s);
|
|
884
|
+
}
|
|
885
|
+
for (const k of Object.keys(locals)) {
|
|
886
|
+
keySet.add(k);
|
|
887
|
+
}
|
|
888
|
+
for (const s of Object.getOwnPropertySymbols(locals)) {
|
|
889
|
+
keySet.add(s);
|
|
890
|
+
}
|
|
897
891
|
// TODO: Lots of duplication here from the container proxy.
|
|
898
892
|
// Need to refactor.
|
|
899
893
|
const proxy = new Proxy({}, {
|
|
@@ -920,13 +914,13 @@
|
|
|
920
914
|
* Used for `Object.keys`.
|
|
921
915
|
*/
|
|
922
916
|
ownKeys() {
|
|
923
|
-
return
|
|
917
|
+
return [...keySet];
|
|
924
918
|
},
|
|
925
919
|
/**
|
|
926
920
|
* Used for `Object.keys`.
|
|
927
921
|
*/
|
|
928
|
-
getOwnPropertyDescriptor(
|
|
929
|
-
if (
|
|
922
|
+
getOwnPropertyDescriptor(_target, key) {
|
|
923
|
+
if (keySet.has(key)) {
|
|
930
924
|
return {
|
|
931
925
|
enumerable: true,
|
|
932
926
|
configurable: true,
|
|
@@ -1233,8 +1227,11 @@
|
|
|
1233
1227
|
try {
|
|
1234
1228
|
// Grab the registration by name.
|
|
1235
1229
|
const resolver = getRegistration(name);
|
|
1236
|
-
|
|
1237
|
-
|
|
1230
|
+
// Cycle detection: scan the resolution stack.
|
|
1231
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1232
|
+
if (resolutionStack[i].name === name) {
|
|
1233
|
+
throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
|
|
1234
|
+
}
|
|
1238
1235
|
}
|
|
1239
1236
|
// Used in JSON.stringify.
|
|
1240
1237
|
if (name === 'toJSON') {
|
|
@@ -1269,57 +1266,54 @@
|
|
|
1269
1266
|
throw new AwilixResolutionError(name, resolutionStack);
|
|
1270
1267
|
}
|
|
1271
1268
|
const lifetime = resolver.lifetime || Lifetime.TRANSIENT;
|
|
1272
|
-
// if
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1269
|
+
// Throws if a shorter-lived dependency is resolved through a longer-lived ancestor.
|
|
1270
|
+
function throwIfLifetimeLeakage(depName, depLifetime, dep) {
|
|
1271
|
+
if (!options.strict || dep.isLeakSafe)
|
|
1272
|
+
return;
|
|
1273
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
1274
|
+
if (isLifetimeLonger(resolutionStack[i].lifetime, depLifetime)) {
|
|
1275
|
+
throw new AwilixResolutionError(depName, resolutionStack, `Dependency '${depName.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[i].name.toString()}'`);
|
|
1276
|
+
}
|
|
1277
|
+
}
|
|
1278
|
+
}
|
|
1279
|
+
// Fast path: cached singletons can always be returned immediately
|
|
1280
|
+
// since nothing has a longer lifetime.
|
|
1281
|
+
if (lifetime === Lifetime.SINGLETON) {
|
|
1282
|
+
const cached = rootContainer.cache.get(name);
|
|
1283
|
+
if (cached) {
|
|
1284
|
+
return cached.value;
|
|
1285
|
+
}
|
|
1286
|
+
}
|
|
1287
|
+
// Fast path: cached scoped values can be returned immediately,
|
|
1288
|
+
// but in strict mode we still need to verify lifetime constraints.
|
|
1289
|
+
if (lifetime === Lifetime.SCOPED) {
|
|
1290
|
+
const cached = container.cache.get(name);
|
|
1291
|
+
if (cached !== undefined) {
|
|
1292
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1293
|
+
return cached.value;
|
|
1278
1294
|
}
|
|
1279
1295
|
}
|
|
1280
|
-
//
|
|
1296
|
+
// Slow path: need to invoke the factory.
|
|
1297
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
1281
1298
|
resolutionStack.push({ name, lifetime });
|
|
1282
|
-
// Do the thing
|
|
1283
|
-
let cached;
|
|
1284
1299
|
let resolved;
|
|
1285
1300
|
switch (lifetime) {
|
|
1286
1301
|
case Lifetime.TRANSIENT:
|
|
1287
|
-
// Transient lifetime means resolve every time.
|
|
1288
1302
|
resolved = resolver.resolve(container);
|
|
1289
1303
|
break;
|
|
1290
1304
|
case Lifetime.SINGLETON:
|
|
1291
|
-
//
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
// if we are running in strict mode, perform singleton resolution using the root
|
|
1295
|
-
// container only.
|
|
1296
|
-
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1297
|
-
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1298
|
-
}
|
|
1299
|
-
else {
|
|
1300
|
-
resolved = cached.value;
|
|
1301
|
-
}
|
|
1305
|
+
// Cache was already checked above, so this is always a miss.
|
|
1306
|
+
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
1307
|
+
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
1302
1308
|
break;
|
|
1303
1309
|
case Lifetime.SCOPED:
|
|
1304
|
-
//
|
|
1305
|
-
// that resolves the registration also caches it.
|
|
1306
|
-
// If this container cache does not have it,
|
|
1307
|
-
// resolve and cache it rather than using the parent
|
|
1308
|
-
// container's cache.
|
|
1309
|
-
cached = container.cache.get(name);
|
|
1310
|
-
if (cached !== undefined) {
|
|
1311
|
-
// We found one!
|
|
1312
|
-
resolved = cached.value;
|
|
1313
|
-
break;
|
|
1314
|
-
}
|
|
1315
|
-
// If we still have not found one, we need to resolve and cache it.
|
|
1310
|
+
// Cache was already checked above, so this is always a miss.
|
|
1316
1311
|
resolved = resolver.resolve(container);
|
|
1317
1312
|
container.cache.set(name, { resolver, value: resolved });
|
|
1318
1313
|
break;
|
|
1319
1314
|
default:
|
|
1320
1315
|
throw new AwilixResolutionError(name, resolutionStack, `Unknown lifetime "${resolver.lifetime}"`);
|
|
1321
1316
|
}
|
|
1322
|
-
// Pop it from the stack again, ready for the next resolution
|
|
1323
1317
|
resolutionStack.pop();
|
|
1324
1318
|
return resolved;
|
|
1325
1319
|
}
|
package/lib/camel-case.js
CHANGED
package/lib/camel-case.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"camel-case.js","sourceRoot":"","sources":["../src/camel-case.ts"],"names":[],"mappings":";;AAYA,
|
|
1
|
+
{"version":3,"file":"camel-case.js","sourceRoot":"","sources":["../src/camel-case.ts"],"names":[],"mappings":"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"}
|
package/lib/container.js
CHANGED
|
@@ -265,8 +265,11 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
265
265
|
try {
|
|
266
266
|
// Grab the registration by name.
|
|
267
267
|
const resolver = getRegistration(name);
|
|
268
|
-
|
|
269
|
-
|
|
268
|
+
// Cycle detection: scan the resolution stack.
|
|
269
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
270
|
+
if (resolutionStack[i].name === name) {
|
|
271
|
+
throw new errors_1.AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
|
|
272
|
+
}
|
|
270
273
|
}
|
|
271
274
|
// Used in JSON.stringify.
|
|
272
275
|
if (name === 'toJSON') {
|
|
@@ -302,57 +305,54 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
|
|
|
302
305
|
throw new errors_1.AwilixResolutionError(name, resolutionStack);
|
|
303
306
|
}
|
|
304
307
|
const lifetime = resolver.lifetime || lifetime_1.Lifetime.TRANSIENT;
|
|
305
|
-
// if
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
308
|
+
// Throws if a shorter-lived dependency is resolved through a longer-lived ancestor.
|
|
309
|
+
function throwIfLifetimeLeakage(depName, depLifetime, dep) {
|
|
310
|
+
if (!options.strict || dep.isLeakSafe)
|
|
311
|
+
return;
|
|
312
|
+
for (let i = 0; i < resolutionStack.length; i++) {
|
|
313
|
+
if ((0, lifetime_1.isLifetimeLonger)(resolutionStack[i].lifetime, depLifetime)) {
|
|
314
|
+
throw new errors_1.AwilixResolutionError(depName, resolutionStack, `Dependency '${depName.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[i].name.toString()}'`);
|
|
315
|
+
}
|
|
311
316
|
}
|
|
312
317
|
}
|
|
313
|
-
//
|
|
318
|
+
// Fast path: cached singletons can always be returned immediately
|
|
319
|
+
// since nothing has a longer lifetime.
|
|
320
|
+
if (lifetime === lifetime_1.Lifetime.SINGLETON) {
|
|
321
|
+
const cached = rootContainer.cache.get(name);
|
|
322
|
+
if (cached) {
|
|
323
|
+
return cached.value;
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
// Fast path: cached scoped values can be returned immediately,
|
|
327
|
+
// but in strict mode we still need to verify lifetime constraints.
|
|
328
|
+
if (lifetime === lifetime_1.Lifetime.SCOPED) {
|
|
329
|
+
const cached = container.cache.get(name);
|
|
330
|
+
if (cached !== undefined) {
|
|
331
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
332
|
+
return cached.value;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
// Slow path: need to invoke the factory.
|
|
336
|
+
throwIfLifetimeLeakage(name, lifetime, resolver);
|
|
314
337
|
resolutionStack.push({ name, lifetime });
|
|
315
|
-
// Do the thing
|
|
316
|
-
let cached;
|
|
317
338
|
let resolved;
|
|
318
339
|
switch (lifetime) {
|
|
319
340
|
case lifetime_1.Lifetime.TRANSIENT:
|
|
320
|
-
// Transient lifetime means resolve every time.
|
|
321
341
|
resolved = resolver.resolve(container);
|
|
322
342
|
break;
|
|
323
343
|
case lifetime_1.Lifetime.SINGLETON:
|
|
324
|
-
//
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
// if we are running in strict mode, perform singleton resolution using the root
|
|
328
|
-
// container only.
|
|
329
|
-
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
330
|
-
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
331
|
-
}
|
|
332
|
-
else {
|
|
333
|
-
resolved = cached.value;
|
|
334
|
-
}
|
|
344
|
+
// Cache was already checked above, so this is always a miss.
|
|
345
|
+
resolved = resolver.resolve(options.strict ? rootContainer : container);
|
|
346
|
+
rootContainer.cache.set(name, { resolver, value: resolved });
|
|
335
347
|
break;
|
|
336
348
|
case lifetime_1.Lifetime.SCOPED:
|
|
337
|
-
//
|
|
338
|
-
// that resolves the registration also caches it.
|
|
339
|
-
// If this container cache does not have it,
|
|
340
|
-
// resolve and cache it rather than using the parent
|
|
341
|
-
// container's cache.
|
|
342
|
-
cached = container.cache.get(name);
|
|
343
|
-
if (cached !== undefined) {
|
|
344
|
-
// We found one!
|
|
345
|
-
resolved = cached.value;
|
|
346
|
-
break;
|
|
347
|
-
}
|
|
348
|
-
// If we still have not found one, we need to resolve and cache it.
|
|
349
|
+
// Cache was already checked above, so this is always a miss.
|
|
349
350
|
resolved = resolver.resolve(container);
|
|
350
351
|
container.cache.set(name, { resolver, value: resolved });
|
|
351
352
|
break;
|
|
352
353
|
default:
|
|
353
354
|
throw new errors_1.AwilixResolutionError(name, resolutionStack, `Unknown lifetime "${resolver.lifetime}"`);
|
|
354
355
|
}
|
|
355
|
-
// Pop it from the stack again, ready for the next resolution
|
|
356
356
|
resolutionStack.pop();
|
|
357
357
|
return resolved;
|
|
358
358
|
}
|
package/lib/container.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
|
package/lib/resolvers.js
CHANGED
|
@@ -229,10 +229,16 @@ function wrapWithLocals(container, locals) {
|
|
|
229
229
|
*/
|
|
230
230
|
function createInjectorProxy(container, injector) {
|
|
231
231
|
const locals = injector(container);
|
|
232
|
-
const
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
232
|
+
const keySet = new Set(Object.keys(container.registrations));
|
|
233
|
+
for (const s of Object.getOwnPropertySymbols(container.registrations)) {
|
|
234
|
+
keySet.add(s);
|
|
235
|
+
}
|
|
236
|
+
for (const k of Object.keys(locals)) {
|
|
237
|
+
keySet.add(k);
|
|
238
|
+
}
|
|
239
|
+
for (const s of Object.getOwnPropertySymbols(locals)) {
|
|
240
|
+
keySet.add(s);
|
|
241
|
+
}
|
|
236
242
|
// TODO: Lots of duplication here from the container proxy.
|
|
237
243
|
// Need to refactor.
|
|
238
244
|
const proxy = new Proxy({}, {
|
|
@@ -259,13 +265,13 @@ function createInjectorProxy(container, injector) {
|
|
|
259
265
|
* Used for `Object.keys`.
|
|
260
266
|
*/
|
|
261
267
|
ownKeys() {
|
|
262
|
-
return
|
|
268
|
+
return [...keySet];
|
|
263
269
|
},
|
|
264
270
|
/**
|
|
265
271
|
* Used for `Object.keys`.
|
|
266
272
|
*/
|
|
267
|
-
getOwnPropertyDescriptor(
|
|
268
|
-
if (
|
|
273
|
+
getOwnPropertyDescriptor(_target, key) {
|
|
274
|
+
if (keySet.has(key)) {
|
|
269
275
|
return {
|
|
270
276
|
enumerable: true,
|
|
271
277
|
configurable: true,
|
package/lib/resolvers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":";;;AAoIA,0BAKC;AAkBD,gCAqBC;AAiBD,0BA0BC;AAMD,0BASC;AAYD,kDAkCC;AAOD,4DAaC;AA3SD,qCAA0C;AAC1C,qDAAmE;AACnE,yCAAmD;AACnD,iDAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "awilix",
|
|
3
|
-
"version": "12.1.
|
|
3
|
+
"version": "12.1.1",
|
|
4
4
|
"description": "Extremely powerful dependency injection container.",
|
|
5
5
|
"main": "lib/awilix.js",
|
|
6
6
|
"module": "lib/awilix.module.mjs",
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"check": "tsc -p tsconfig.json --noEmit --pretty",
|
|
45
45
|
"test": "npm run check && jest",
|
|
46
46
|
"lint": "npm run check && eslint --fix \"{src,examples}/**/*.ts\" && prettier --write \"{src,examples}/**/*.{ts,js}\"",
|
|
47
|
+
"bench": "npx tsx benchmarks/run-all.ts",
|
|
47
48
|
"cover": "npm run test -- --coverage",
|
|
48
49
|
"publish:pre": "npm run lint && npm run build && npm run cover",
|
|
49
50
|
"publish:post": "npm publish && git push --follow-tags",
|
|
@@ -95,6 +96,7 @@
|
|
|
95
96
|
"rollup-plugin-copy": "^3.5.0",
|
|
96
97
|
"rollup-plugin-typescript2": "^0.36.0",
|
|
97
98
|
"smid": "^0.1.1",
|
|
99
|
+
"tinybench": "^6.0.0",
|
|
98
100
|
"ts-jest": "^29.2.6",
|
|
99
101
|
"tslib": "^2.8.1",
|
|
100
102
|
"typescript": "^5.8.2",
|