awilix 12.0.5 → 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.
@@ -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 allKeys = uniq([
888
- ...Reflect.ownKeys(container.cradle),
889
- ...Reflect.ownKeys(locals),
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 allKeys;
911
+ return [...keySet];
918
912
  },
919
913
  /**
920
914
  * Used for `Object.keys`.
921
915
  */
922
- getOwnPropertyDescriptor(target, key) {
923
- if (allKeys.indexOf(key) > -1) {
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
- if (resolutionStack.some(({ name: parentName }) => parentName === name)) {
1231
- throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
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 we are running in strict mode, this resolver is not explicitly marked leak-safe, and any
1267
- // of the parents have a shorter lifetime than the one requested, throw an error.
1268
- if (options.strict && !resolver.isLeakSafe) {
1269
- const maybeLongerLifetimeParentIndex = resolutionStack.findIndex(({ lifetime: parentLifetime }) => isLifetimeLonger(parentLifetime, lifetime));
1270
- if (maybeLongerLifetimeParentIndex > -1) {
1271
- throw new AwilixResolutionError(name, resolutionStack, `Dependency '${name.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[maybeLongerLifetimeParentIndex].name.toString()}'`);
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
- // Pushes the currently-resolving module information onto the stack
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
- // Singleton lifetime means cache at all times, regardless of scope.
1286
- cached = rootContainer.cache.get(name);
1287
- if (!cached) {
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
- // Scoped lifetime means that the container
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
  }
@@ -2,7 +2,6 @@ import * as util from 'util';
2
2
  import glob from 'fast-glob';
3
3
  import * as path from 'path';
4
4
  import { importModule } from './load-module-native.js';
5
- import { camelCase } from 'camel-case';
6
5
  import { pathToFileURL } from 'url';
7
6
 
8
7
  /**
@@ -536,18 +535,6 @@ fn) {
536
535
  function isFunction(val) {
537
536
  return typeof val === 'function';
538
537
  }
539
- /**
540
- * Returns the unique items in the array.
541
- *
542
- * @param {Array<T>}
543
- * The array to remove dupes from.
544
- *
545
- * @return {Array<T>}
546
- * The deduped array.
547
- */
548
- function uniq(arr) {
549
- return Array.from(new Set(arr));
550
- }
551
538
 
552
539
  // Regex to extract the module name.
553
540
  const nameExpr = /(.*)\..*/i;
@@ -605,6 +592,94 @@ function listModules(globPatterns, opts) {
605
592
  return _listModules(globPatterns, opts);
606
593
  }
607
594
 
595
+ /**
596
+ * Hyperoptimized camelCase conversion.
597
+ *
598
+ * Single-pass, zero-regex, zero-allocation (beyond the result string).
599
+ * Splits on non-alphanumeric separators and case transitions:
600
+ * - lowercase/digit followed by uppercase (e.g. fooBar → foo|Bar)
601
+ * - uppercase followed by uppercase+lower (e.g. HTMLParser → HTML|Parser)
602
+ *
603
+ * First word is lowercased; subsequent words are capitalized (first char
604
+ * uppercased, rest lowercased). A subsequent word that starts with a digit
605
+ * is prefixed with '_'.
606
+ */
607
+ function camelCase(input) {
608
+ const len = input.length;
609
+ if (len === 0) {
610
+ return '';
611
+ }
612
+ let result = '';
613
+ let wordIdx = 0;
614
+ let wordPos = 0;
615
+ let inWord = false;
616
+ // Character type of the previous character:
617
+ // 0 = separator / start, 1 = uppercase, 2 = lowercase, 3 = digit
618
+ let prevType = 0;
619
+ for (let i = 0; i < len; i++) {
620
+ const c = input.charCodeAt(i);
621
+ // Classify – check lowercase first (most frequent in identifiers).
622
+ const type = c >= 97 && c <= 122
623
+ ? 2
624
+ : c >= 65 && c <= 90
625
+ ? 1
626
+ : c >= 48 && c <= 57
627
+ ? 3
628
+ : 0;
629
+ if (type === 0) {
630
+ // Non-alphanumeric separator – end the current word.
631
+ if (inWord) {
632
+ wordIdx++;
633
+ inWord = false;
634
+ }
635
+ prevType = 0;
636
+ continue;
637
+ }
638
+ if (!inWord) {
639
+ // First alphanumeric char after separator(s) or string start.
640
+ inWord = true;
641
+ wordPos = 0;
642
+ }
643
+ else if (type === 1) {
644
+ // Uppercase while already inside a word – detect word boundary.
645
+ if (prevType >= 2 || // preceded by lowercase (2) or digit (3)
646
+ (prevType === 1 && // preceded by uppercase …
647
+ i + 1 < len &&
648
+ input.charCodeAt(i + 1) >= 97 &&
649
+ input.charCodeAt(i + 1) <= 122) // … and followed by lowercase
650
+ ) {
651
+ wordIdx++;
652
+ wordPos = 0;
653
+ }
654
+ }
655
+ // Emit the character with the correct casing.
656
+ if (wordIdx === 0) {
657
+ // First word – everything lowercase.
658
+ // c | 0x20 sets bit-5, converting A-Z → a-z (no-op for a-z / 0-9).
659
+ result += type === 1 ? String.fromCharCode(c | 0x20) : input[i];
660
+ }
661
+ else if (wordPos === 0) {
662
+ // First char of a subsequent word.
663
+ if (type === 3) {
664
+ // Digit-leading word: prefix with '_'.
665
+ result += '_';
666
+ result += input[i];
667
+ }
668
+ else {
669
+ // c & 0x5f clears bit-5, converting a-z → A-Z (no-op for A-Z).
670
+ result += type === 2 ? String.fromCharCode(c & 0x5f) : input[i];
671
+ }
672
+ }
673
+ else {
674
+ // Remaining chars of a subsequent word – lowercase.
675
+ result += type === 1 ? String.fromCharCode(c | 0x20) : input[i];
676
+ }
677
+ wordPos++;
678
+ prevType = type;
679
+ }
680
+ return result;
681
+ }
682
+
608
683
  /*
609
684
  * Parses the parameter list of a function string, including ES6 class constructors.
610
685
  *
@@ -965,10 +1040,16 @@ function wrapWithLocals(container, locals) {
965
1040
  */
966
1041
  function createInjectorProxy(container, injector) {
967
1042
  const locals = injector(container);
968
- const allKeys = uniq([
969
- ...Reflect.ownKeys(container.cradle),
970
- ...Reflect.ownKeys(locals),
971
- ]);
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
+ }
972
1053
  // TODO: Lots of duplication here from the container proxy.
973
1054
  // Need to refactor.
974
1055
  const proxy = new Proxy({}, {
@@ -995,13 +1076,13 @@ function createInjectorProxy(container, injector) {
995
1076
  * Used for `Object.keys`.
996
1077
  */
997
1078
  ownKeys() {
998
- return allKeys;
1079
+ return [...keySet];
999
1080
  },
1000
1081
  /**
1001
1082
  * Used for `Object.keys`.
1002
1083
  */
1003
- getOwnPropertyDescriptor(target, key) {
1004
- if (allKeys.indexOf(key) > -1) {
1084
+ getOwnPropertyDescriptor(_target, key) {
1085
+ if (keySet.has(key)) {
1005
1086
  return {
1006
1087
  enumerable: true,
1007
1088
  configurable: true,
@@ -1494,8 +1575,11 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
1494
1575
  try {
1495
1576
  // Grab the registration by name.
1496
1577
  const resolver = getRegistration(name);
1497
- if (resolutionStack.some(({ name: parentName }) => parentName === name)) {
1498
- throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
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
+ }
1499
1583
  }
1500
1584
  // Used in JSON.stringify.
1501
1585
  if (name === 'toJSON') {
@@ -1531,57 +1615,54 @@ function createContainerInternal(options, parentContainer, parentResolutionStack
1531
1615
  throw new AwilixResolutionError(name, resolutionStack);
1532
1616
  }
1533
1617
  const lifetime = resolver.lifetime || Lifetime.TRANSIENT;
1534
- // if we are running in strict mode, this resolver is not explicitly marked leak-safe, and any
1535
- // of the parents have a shorter lifetime than the one requested, throw an error.
1536
- if (options.strict && !resolver.isLeakSafe) {
1537
- const maybeLongerLifetimeParentIndex = resolutionStack.findIndex(({ lifetime: parentLifetime }) => isLifetimeLonger(parentLifetime, lifetime));
1538
- if (maybeLongerLifetimeParentIndex > -1) {
1539
- throw new AwilixResolutionError(name, resolutionStack, `Dependency '${name.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[maybeLongerLifetimeParentIndex].name.toString()}'`);
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;
1540
1643
  }
1541
1644
  }
1542
- // Pushes the currently-resolving module information onto the stack
1645
+ // Slow path: need to invoke the factory.
1646
+ throwIfLifetimeLeakage(name, lifetime, resolver);
1543
1647
  resolutionStack.push({ name, lifetime });
1544
- // Do the thing
1545
- let cached;
1546
1648
  let resolved;
1547
1649
  switch (lifetime) {
1548
1650
  case Lifetime.TRANSIENT:
1549
- // Transient lifetime means resolve every time.
1550
1651
  resolved = resolver.resolve(container);
1551
1652
  break;
1552
1653
  case Lifetime.SINGLETON:
1553
- // Singleton lifetime means cache at all times, regardless of scope.
1554
- cached = rootContainer.cache.get(name);
1555
- if (!cached) {
1556
- // if we are running in strict mode, perform singleton resolution using the root
1557
- // container only.
1558
- resolved = resolver.resolve(options.strict ? rootContainer : container);
1559
- rootContainer.cache.set(name, { resolver, value: resolved });
1560
- }
1561
- else {
1562
- resolved = cached.value;
1563
- }
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 });
1564
1657
  break;
1565
1658
  case Lifetime.SCOPED:
1566
- // Scoped lifetime means that the container
1567
- // that resolves the registration also caches it.
1568
- // If this container cache does not have it,
1569
- // resolve and cache it rather than using the parent
1570
- // container's cache.
1571
- cached = container.cache.get(name);
1572
- if (cached !== undefined) {
1573
- // We found one!
1574
- resolved = cached.value;
1575
- break;
1576
- }
1577
- // 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.
1578
1660
  resolved = resolver.resolve(container);
1579
1661
  container.cache.set(name, { resolver, value: resolved });
1580
1662
  break;
1581
1663
  default:
1582
1664
  throw new AwilixResolutionError(name, resolutionStack, `Unknown lifetime "${resolver.lifetime}"`);
1583
1665
  }
1584
- // Pop it from the stack again, ready for the next resolution
1585
1666
  resolutionStack.pop();
1586
1667
  return resolved;
1587
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 allKeys = uniq([
894
- ...Reflect.ownKeys(container.cradle),
895
- ...Reflect.ownKeys(locals),
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 allKeys;
917
+ return [...keySet];
924
918
  },
925
919
  /**
926
920
  * Used for `Object.keys`.
927
921
  */
928
- getOwnPropertyDescriptor(target, key) {
929
- if (allKeys.indexOf(key) > -1) {
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
- if (resolutionStack.some(({ name: parentName }) => parentName === name)) {
1237
- throw new AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
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 we are running in strict mode, this resolver is not explicitly marked leak-safe, and any
1273
- // of the parents have a shorter lifetime than the one requested, throw an error.
1274
- if (options.strict && !resolver.isLeakSafe) {
1275
- const maybeLongerLifetimeParentIndex = resolutionStack.findIndex(({ lifetime: parentLifetime }) => isLifetimeLonger(parentLifetime, lifetime));
1276
- if (maybeLongerLifetimeParentIndex > -1) {
1277
- throw new AwilixResolutionError(name, resolutionStack, `Dependency '${name.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[maybeLongerLifetimeParentIndex].name.toString()}'`);
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
- // Pushes the currently-resolving module information onto the stack
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
- // Singleton lifetime means cache at all times, regardless of scope.
1292
- cached = rootContainer.cache.get(name);
1293
- if (!cached) {
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
- // Scoped lifetime means that the container
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
  }
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Hyperoptimized camelCase conversion.
3
+ *
4
+ * Single-pass, zero-regex, zero-allocation (beyond the result string).
5
+ * Splits on non-alphanumeric separators and case transitions:
6
+ * - lowercase/digit followed by uppercase (e.g. fooBar → foo|Bar)
7
+ * - uppercase followed by uppercase+lower (e.g. HTMLParser → HTML|Parser)
8
+ *
9
+ * First word is lowercased; subsequent words are capitalized (first char
10
+ * uppercased, rest lowercased). A subsequent word that starts with a digit
11
+ * is prefixed with '_'.
12
+ */
13
+ export declare function camelCase(input: string): string;
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.camelCase = camelCase;
4
+ /**
5
+ * Hyperoptimized camelCase conversion.
6
+ *
7
+ * Single-pass, zero-regex, zero-allocation (beyond the result string).
8
+ * Splits on non-alphanumeric separators and case transitions:
9
+ * - lowercase/digit followed by uppercase (e.g. fooBar → foo|Bar)
10
+ * - uppercase followed by uppercase+lower (e.g. HTMLParser → HTML|Parser)
11
+ *
12
+ * First word is lowercased; subsequent words are capitalized (first char
13
+ * uppercased, rest lowercased). A subsequent word that starts with a digit
14
+ * is prefixed with '_'.
15
+ */
16
+ function camelCase(input) {
17
+ const len = input.length;
18
+ if (len === 0) {
19
+ return '';
20
+ }
21
+ let result = '';
22
+ let wordIdx = 0;
23
+ let wordPos = 0;
24
+ let inWord = false;
25
+ // Character type of the previous character:
26
+ // 0 = separator / start, 1 = uppercase, 2 = lowercase, 3 = digit
27
+ let prevType = 0;
28
+ for (let i = 0; i < len; i++) {
29
+ const c = input.charCodeAt(i);
30
+ // Classify – check lowercase first (most frequent in identifiers).
31
+ const type = c >= 97 && c <= 122
32
+ ? 2
33
+ : c >= 65 && c <= 90
34
+ ? 1
35
+ : c >= 48 && c <= 57
36
+ ? 3
37
+ : 0;
38
+ if (type === 0) {
39
+ // Non-alphanumeric separator – end the current word.
40
+ if (inWord) {
41
+ wordIdx++;
42
+ inWord = false;
43
+ }
44
+ prevType = 0;
45
+ continue;
46
+ }
47
+ if (!inWord) {
48
+ // First alphanumeric char after separator(s) or string start.
49
+ inWord = true;
50
+ wordPos = 0;
51
+ }
52
+ else if (type === 1) {
53
+ // Uppercase while already inside a word – detect word boundary.
54
+ if (prevType >= 2 || // preceded by lowercase (2) or digit (3)
55
+ (prevType === 1 && // preceded by uppercase …
56
+ i + 1 < len &&
57
+ input.charCodeAt(i + 1) >= 97 &&
58
+ input.charCodeAt(i + 1) <= 122) // … and followed by lowercase
59
+ ) {
60
+ wordIdx++;
61
+ wordPos = 0;
62
+ }
63
+ }
64
+ // Emit the character with the correct casing.
65
+ if (wordIdx === 0) {
66
+ // First word – everything lowercase.
67
+ // c | 0x20 sets bit-5, converting A-Z → a-z (no-op for a-z / 0-9).
68
+ result += type === 1 ? String.fromCharCode(c | 0x20) : input[i];
69
+ }
70
+ else if (wordPos === 0) {
71
+ // First char of a subsequent word.
72
+ if (type === 3) {
73
+ // Digit-leading word: prefix with '_'.
74
+ result += '_';
75
+ result += input[i];
76
+ }
77
+ else {
78
+ // c & 0x5f clears bit-5, converting a-z → A-Z (no-op for A-Z).
79
+ result += type === 2 ? String.fromCharCode(c & 0x5f) : input[i];
80
+ }
81
+ }
82
+ else {
83
+ // Remaining chars of a subsequent word – lowercase.
84
+ result += type === 1 ? String.fromCharCode(c | 0x20) : input[i];
85
+ }
86
+ wordPos++;
87
+ prevType = type;
88
+ }
89
+ return result;
90
+ }
91
+ //# sourceMappingURL=camel-case.js.map
@@ -0,0 +1 @@
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
- if (resolutionStack.some(({ name: parentName }) => parentName === name)) {
269
- throw new errors_1.AwilixResolutionError(name, resolutionStack, 'Cyclic dependencies detected.');
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 we are running in strict mode, this resolver is not explicitly marked leak-safe, and any
306
- // of the parents have a shorter lifetime than the one requested, throw an error.
307
- if (options.strict && !resolver.isLeakSafe) {
308
- const maybeLongerLifetimeParentIndex = resolutionStack.findIndex(({ lifetime: parentLifetime }) => (0, lifetime_1.isLifetimeLonger)(parentLifetime, lifetime));
309
- if (maybeLongerLifetimeParentIndex > -1) {
310
- throw new errors_1.AwilixResolutionError(name, resolutionStack, `Dependency '${name.toString()}' has a shorter lifetime than its ancestor: '${resolutionStack[maybeLongerLifetimeParentIndex].name.toString()}'`);
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
- // Pushes the currently-resolving module information onto the stack
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
- // Singleton lifetime means cache at all times, regardless of scope.
325
- cached = rootContainer.cache.get(name);
326
- if (!cached) {
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
- // Scoped lifetime means that the container
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
  }
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.loadModules = loadModules;
4
- const camel_case_1 = require("camel-case");
4
+ const camel_case_1 = require("./camel-case");
5
5
  const url_1 = require("url");
6
6
  const lifetime_1 = require("./lifetime");
7
7
  const resolvers_1 = require("./resolvers");
@@ -1 +1 @@
1
- {"version":3,"file":"load-modules.js","sourceRoot":"","sources":["../src/load-modules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load-modules.js","sourceRoot":"","sources":["../src/load-modules.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 allKeys = (0, utils_1.uniq)([
233
- ...Reflect.ownKeys(container.cradle),
234
- ...Reflect.ownKeys(locals),
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 allKeys;
268
+ return [...keySet];
263
269
  },
264
270
  /**
265
271
  * Used for `Object.keys`.
266
272
  */
267
- getOwnPropertyDescriptor(target, key) {
268
- if (allKeys.indexOf(key) > -1) {
273
+ getOwnPropertyDescriptor(_target, key) {
274
+ if (keySet.has(key)) {
269
275
  return {
270
276
  enumerable: true,
271
277
  configurable: true,
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../src/resolvers.ts"],"names":[],"mappings":"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"}
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,mCAAoC;AAEpC,kFAAkF;AAClF,+DAA+D;AAE/D;;;GAGG;AACU,QAAA,QAAQ,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAA;AA2GxD;;;;;;;;;;GAUG;AACH,SAAgB,OAAO,CAAI,KAAQ;IACjC,OAAO;QACL,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK;QACpB,UAAU,EAAE,IAAI;KACjB,CAAA;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,UAAU,CACxB,EAAwB,EACxB,IAA8B;IAE9B,IAAI,CAAC,IAAA,kBAAU,EAAC,EAAE,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,wBAAe,CAAC,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,mBAAQ,CAAC,SAAS;KAC7B,CAAA;IAED,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAG,EAAU,CAAC,gBAAQ,CAAC,CAAC,CAAA;IAEzD,MAAM,OAAO,GAAG,eAAe,CAAC,EAAE,CAAC,CAAA;IACnC,MAAM,MAAM,GAAG;QACb,OAAO;QACP,GAAG,IAAI;KACR,CAAA;IAED,OAAO,wBAAwB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,OAAO,CACrB,IAAoB,EACpB,IAA8B;IAE9B,IAAI,CAAC,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,wBAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7D,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,mBAAQ,CAAC,SAAS;KAC7B,CAAA;IAED,IAAI,GAAG,WAAW,CAAC,QAAQ,EAAE,IAAI,EAAG,IAAY,CAAC,gBAAQ,CAAC,CAAC,CAAA;IAE3D,gGAAgG;IAChG,MAAM,QAAQ,GAAG,SAAS,QAAQ,CAAC,GAAG,IAAe;QACnD,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAC/C,OAAO,wBAAwB,CAC7B,mBAAmB,CAAC;QAClB,GAAG,IAAI;QACP,OAAO;KACR,CAAC,CACH,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,SAAgB,OAAO,CACrB,IAA+C;IAE/C,OAAO;QACL,OAAO,CAAC,SAAS;YACf,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,UAAU,EAAE,IAAI;KACjB,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,mBAAmB,CACjC,GAAM;IAEN,SAAS,WAAW,CAAY,KAAmB;QACjD,OAAO,mBAAmB,CAAC;YACzB,GAAG,IAAI;YACP,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,gBAAgB,CAAY,KAAwB;QAC3D,OAAO,mBAAmB,CAAC;YACzB,GAAG,IAAI;YACP,aAAa,EAAE,KAAK;SACrB,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,MAAM,CAAY,QAA0B;QACnD,OAAO,mBAAmB,CAAC;YACzB,GAAG,IAAI;YACP,QAAQ;SACT,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,GAAG,EAAE;QACzB,WAAW;QACX,MAAM;QACN,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,mBAAQ,CAAC,SAAS,CAAC;QACnD,MAAM,EAAE,OAAO,CAAC,WAAW,EAAE,mBAAQ,CAAC,MAAM,CAAC;QAC7C,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,mBAAQ,CAAC,SAAS,CAAC;QACnD,gBAAgB;QAChB,KAAK,EAAE,OAAO,CAAC,gBAAgB,EAAE,8BAAa,CAAC,KAAK,CAAC;QACrD,OAAO,EAAE,OAAO,CAAC,gBAAgB,EAAE,8BAAa,CAAC,OAAO,CAAC;KAC1D,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,GAAM;IAEN,SAAS,QAAQ,CAAY,OAAoB;QAC/C,OAAO,wBAAwB,CAAC;YAC9B,GAAG,IAAI;YACP,OAAO;SACR,CAAC,CAAA;IACJ,CAAC;IAED,OAAO,cAAc,CAAC,GAAG,EAAE;QACzB,QAAQ;KACT,CAAC,CAAA;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAQ,EAAmB,EAAE,IAAQ;IACnD,OAAO,SAAS,gBAAgB;QAC9B,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,WAAW,CAAO,QAAW,EAAE,GAAG,IAA0B;IACnE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAU,CAAA;AACtD,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CACrB,MAAS,EACT,MAAS;IAET,MAAM,MAAM,GAAG;QACb,GAAI,MAAc;QAClB,GAAI,MAAc;KACnB,CAAA;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,cAAc,CACrB,SAA6B,EAC7B,MAAW;IAEX,OAAO,SAAS,cAAc,CAAC,IAAY,EAAE,WAA2B;QACtE,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAC7C,CAAC,CAAA;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,mBAAmB,CAC1B,SAA6B,EAC7B,QAA0B;IAE1B,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAQ,CAAA;IACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAkB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;IAC7E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QACpC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACf,CAAC;IACD,2DAA2D;IAC3D,oBAAoB;IACpB,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,EAAE,EACF;QACE;;WAEG;QACH,GAAG,CAAC,MAAW,EAAE,IAAqB;YACpC,IAAI,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC7B,OAAO,QAAQ,CAAC,CAAC,6BAA6B;oBAC5C,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;wBACpC,MAAM,IAAI,CAAA;oBACZ,CAAC;oBACD,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;wBAC1B,MAAM,IAAI,CAAA;oBACZ,CAAC;gBACH,CAAC,CAAA;YACH,CAAC;YACD,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;YACD,OAAO,SAAS,CAAC,OAAO,CAAC,IAAc,CAAC,CAAA;QAC1C,CAAC;QAED;;WAEG;QACH,OAAO;YACL,OAAO,CAAC,GAAG,MAAM,CAAC,CAAA;QACpB,CAAC;QAED;;WAEG;QACH,wBAAwB,CAAC,OAAY,EAAE,GAAoB;YACzD,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpB,OAAO;oBACL,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACnB,CAAA;YACH,CAAC;YAED,OAAO,SAAS,CAAA;QAClB,CAAC;KACF,CACF,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,eAAe,CAAC,EAAY,EAAE,qBAAgC;IACrE,kFAAkF;IAClF,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,qBAAqB,GAAG,EAAE,CAAA;IAC5B,CAAC;IAED,6BAA6B;IAC7B,+DAA+D;IAC/D,sEAAsE;IACtE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAA;IAE7D,6FAA6F;IAC7F,OAAO,SAAS,OAAO,CAErB,SAA6B;QAE7B,gHAAgH;QAChH,yCAAyC;QACzC,MAAM,aAAa,GACjB,IAAI,CAAC,aAAa;YAClB,SAAS,CAAC,OAAO,CAAC,aAAa;YAC/B,8BAAa,CAAC,KAAK,CAAA;QAErB,IAAI,aAAa,KAAK,8BAAa,CAAC,OAAO,EAAE,CAAC;YAC5C,4DAA4D;YAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ;gBAC1B,CAAC,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAC/C,CAAC,CAAC,SAAS,CAAC,MAAM,CAAA;YAEpB,6CAA6C;YAC7C,OAAO,EAAE,CAAC,MAAM,CAAC,CAAA;QACnB,CAAC;QAED,2DAA2D;QAC3D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;gBAC3B,CAAC,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBACrD,CAAC,CAAC,SAAS,CAAC,OAAO,CAAA;YAErB,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACtC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CACnD,CAAA;YACD,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAA;QACxB,CAAC;QAED,OAAO,EAAE,EAAE,CAAA;IACb,CAAC,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,EAAY;IACrC,MAAM,MAAM,GAAG,IAAA,iCAAkB,EAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;IAChD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,iEAAiE;QACjE,gBAAgB;QAChB,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,CAAA;QACxC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,QAAQ,CAAC,SAAS,EAAE,CAAC;YAClE,0BAA0B;YAC1B,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAClC,CAAC;QACD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "awilix",
3
- "version": "12.0.5",
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,13 +96,13 @@
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",
101
103
  "typescript-eslint": "^8.26.1"
102
104
  },
103
105
  "dependencies": {
104
- "camel-case": "^4.1.2",
105
106
  "fast-glob": "^3.3.3"
106
107
  },
107
108
  "lint-staged": {