@inversifyjs/core 7.2.0 → 9.0.0

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 (86) hide show
  1. package/AGENTS.md +140 -0
  2. package/CHANGELOG.md +19 -0
  3. package/lib/cjs/binding/calculations/buildInstanceBinding.d.ts +5 -0
  4. package/lib/cjs/binding/calculations/buildInstanceBinding.d.ts.map +1 -0
  5. package/lib/cjs/binding/calculations/buildInstanceBinding.js +26 -0
  6. package/lib/cjs/binding/calculations/buildInstanceBinding.js.map +1 -0
  7. package/lib/cjs/binding/calculations/buildInstanceBinding.spec.d.ts +2 -0
  8. package/lib/cjs/binding/calculations/buildInstanceBinding.spec.d.ts.map +1 -0
  9. package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts +2 -1
  10. package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts.map +1 -1
  11. package/lib/cjs/binding/calculations/cloneProviderBinding.js +2 -1
  12. package/lib/cjs/binding/calculations/cloneProviderBinding.js.map +1 -1
  13. package/lib/cjs/binding/models/AutobindOptions.d.ts +5 -0
  14. package/lib/cjs/binding/models/AutobindOptions.d.ts.map +1 -0
  15. package/lib/cjs/{planning/models/BasePlanParamsAutobindOptions.js → binding/models/AutobindOptions.js} +1 -1
  16. package/lib/cjs/binding/models/AutobindOptions.js.map +1 -0
  17. package/lib/cjs/binding/models/Provider.d.ts +5 -0
  18. package/lib/cjs/binding/models/Provider.d.ts.map +1 -1
  19. package/lib/cjs/binding/models/ProviderBinding.d.ts +2 -1
  20. package/lib/cjs/binding/models/ProviderBinding.d.ts.map +1 -1
  21. package/lib/cjs/binding/services/BindingService.d.ts +2 -1
  22. package/lib/cjs/binding/services/BindingService.d.ts.map +1 -1
  23. package/lib/cjs/binding/services/BindingService.js +34 -7
  24. package/lib/cjs/binding/services/BindingService.js.map +1 -1
  25. package/lib/cjs/index.d.ts +4 -1
  26. package/lib/cjs/index.d.ts.map +1 -1
  27. package/lib/cjs/index.js.map +1 -1
  28. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js +3 -3
  29. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js.map +1 -1
  30. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js +3 -3
  31. package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js.map +1 -1
  32. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js +2 -2
  33. package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js.map +1 -1
  34. package/lib/cjs/metadata/calculations/getExtendedLifecycle.d.ts +5 -0
  35. package/lib/cjs/metadata/calculations/getExtendedLifecycle.d.ts.map +1 -0
  36. package/lib/cjs/metadata/calculations/getExtendedLifecycle.js +20 -0
  37. package/lib/cjs/metadata/calculations/getExtendedLifecycle.js.map +1 -0
  38. package/lib/cjs/metadata/calculations/getExtendedLifecycle.spec.d.ts +2 -0
  39. package/lib/cjs/metadata/calculations/getExtendedLifecycle.spec.d.ts.map +1 -0
  40. package/lib/cjs/metadata/decorators/injectFrom.d.ts.map +1 -1
  41. package/lib/cjs/metadata/decorators/injectFrom.js +2 -1
  42. package/lib/cjs/metadata/decorators/injectFrom.js.map +1 -1
  43. package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts +2 -2
  44. package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts.map +1 -1
  45. package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts +2 -0
  46. package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts.map +1 -1
  47. package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.d.ts +5 -0
  48. package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.d.ts.map +1 -0
  49. package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.js +3 -0
  50. package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.js.map +1 -0
  51. package/lib/cjs/metadata/models/InjectFromHierarchyOptions.d.ts +2 -0
  52. package/lib/cjs/metadata/models/InjectFromHierarchyOptions.d.ts.map +1 -1
  53. package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.d.ts +5 -0
  54. package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.d.ts.map +1 -0
  55. package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.js +3 -0
  56. package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.js.map +1 -0
  57. package/lib/cjs/metadata/models/InjectFromOptions.d.ts +2 -0
  58. package/lib/cjs/metadata/models/InjectFromOptions.d.ts.map +1 -1
  59. package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.d.ts +5 -0
  60. package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.d.ts.map +1 -0
  61. package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.js +3 -0
  62. package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.js.map +1 -0
  63. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts.map +1 -1
  64. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +5 -24
  65. package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -1
  66. package/lib/cjs/planning/models/BasePlanParams.d.ts +2 -2
  67. package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -1
  68. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js +22 -6
  69. package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js.map +1 -1
  70. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts.map +1 -1
  71. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js +17 -2
  72. package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js.map +1 -1
  73. package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts +1 -1
  74. package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts.map +1 -1
  75. package/lib/cjs/resolution/actions/resolvePostConstruct.js +0 -3
  76. package/lib/cjs/resolution/actions/resolvePostConstruct.js.map +1 -1
  77. package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts +2 -1
  78. package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts.map +1 -1
  79. package/lib/esm/index.d.ts +39 -15
  80. package/lib/esm/index.d.ts.map +1 -1
  81. package/lib/esm/index.js +1 -1
  82. package/lib/esm/index.js.map +1 -1
  83. package/package.json +10 -10
  84. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts +0 -5
  85. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts.map +0 -1
  86. package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.js.map +0 -1
package/AGENTS.md ADDED
@@ -0,0 +1,140 @@
1
+ # AGENTS.md - @inversifyjs/core
2
+
3
+ ## Package Overview
4
+
5
+ The `@inversifyjs/core` package is the foundational layer of the InversifyJS dependency injection system. It contains the core planning algorithms, resolution logic, and fundamental architecture patterns that power the entire container ecosystem.
6
+
7
+ ## Key Responsibilities
8
+
9
+ - **Planning Phase**: Builds execution plans for dependency resolution
10
+ - **Resolution Logic**: Core algorithms for creating and injecting dependencies
11
+ - **Metadata Management**: Handles reflection metadata and binding information
12
+ - **Error Handling**: Provides detailed error reporting with context
13
+ - **Symbol Management**: Manages service identifiers and injection tokens
14
+
15
+ ## Architecture Patterns
16
+
17
+ ### Planning Phase
18
+ The core implements a two-phase resolution strategy:
19
+
20
+ 1. **Plan Creation**: Analyzes dependency graph and creates execution plan
21
+ 2. **Plan Execution**: Executes the plan to create actual instances
22
+
23
+ This separation enables:
24
+ - **Caching**: Plans can be cached for performance
25
+ - **Validation**: Dependencies can be validated before execution
26
+ - **Debugging**: Clear separation of concerns for troubleshooting
27
+
28
+ ### Resolution Phase
29
+ The resolution system follows these patterns:
30
+
31
+ - **Request/Context Pattern**: Each resolution maintains context state
32
+ - **Factory Pattern**: Different activation strategies for different binding types
33
+ - **Chain of Responsibility**: Multiple resolvers handle different scenarios
34
+
35
+ ### Error Reporting
36
+ Core provides comprehensive error reporting:
37
+ - **Service Identifier Context**: Errors include which service failed
38
+ - **Binding Information**: Details about how services are bound
39
+ - **Resolution Stack**: Shows the dependency chain that led to errors
40
+
41
+ ## Working with Core
42
+
43
+ ### Key Characteristics
44
+ - **Performance Critical**: Operations happen frequently at runtime
45
+ - **Type Safety**: Heavy use of TypeScript generics and constraints
46
+ - **Immutable Patterns**: Core data structures are immutable where possible
47
+ - **Comprehensive Testing**: Requires extensive unit and integration tests
48
+
49
+ ### Testing Strategy
50
+
51
+ #### Unit Testing Requirements
52
+ Follow the [four-layer testing structure](../../../../docs/testing/unit-testing.md):
53
+
54
+ 1. **Class Scope**: Test each planner, resolver, and metadata handler
55
+ 2. **Method Scope**: Test each public method thoroughly
56
+ 3. **Input Scope**: Test various dependency configurations
57
+ 4. **Flow Scope**: Test different resolution paths and error conditions
58
+
59
+ #### Critical Test Areas
60
+ - **Planning Algorithm**: Test plan generation for complex dependency graphs
61
+ - **Resolution Logic**: Test actual object creation and injection
62
+ - **Error Scenarios**: Test circular dependencies, missing bindings, etc.
63
+ - **Performance**: Test plan caching and resolution performance
64
+ - **Metadata Handling**: Test reflection metadata processing
65
+
66
+ ### Development Guidelines
67
+
68
+ #### Performance Considerations
69
+ - **Hot Path Optimization**: Resolution happens frequently - optimize for speed
70
+ - **Memory Management**: Minimize allocations in planning and resolution
71
+ - **Plan Caching**: Ensure plans are properly cached and invalidated
72
+ - **Object Pooling**: Consider pooling for frequently created objects
73
+
74
+ #### Type Safety Patterns
75
+ - **Generic Constraints**: Use TypeScript constraints to enforce correct usage
76
+ - **Branded Types**: Use branded types for service identifiers
77
+ - **Mapped Types**: Leverage mapped types for complex binding scenarios
78
+ - **Conditional Types**: Use conditional types for resolution logic
79
+
80
+ #### Error Handling Best Practices
81
+ - **Contextual Errors**: Include service identifiers and binding info
82
+ - **User-Friendly Messages**: Provide clear guidance on how to fix issues
83
+ - **Error Recovery**: Where possible, provide suggestions for resolution
84
+ - **Stack Preservation**: Maintain error stacks for debugging
85
+
86
+ ### Build and Test Commands
87
+
88
+ ```bash
89
+ # Build the package
90
+ pnpm run build
91
+
92
+ # Run all tests
93
+ pnpm run test
94
+
95
+ # Run only unit tests
96
+ pnpm run test:unit
97
+
98
+ # Run only integration tests
99
+ pnpm run test:integration
100
+
101
+ # Generate coverage report
102
+ pnpm run test:coverage
103
+ ```
104
+
105
+ ### Common Development Tasks
106
+
107
+ #### Adding New Planning Logic
108
+ 1. **Design the Algorithm**: Consider performance and correctness
109
+ 2. **Implement the Planner**: Add to the planning module
110
+ 3. **Add Comprehensive Tests**: Test all edge cases and performance
111
+ 4. **Update Integration Tests**: Ensure it works with the full container
112
+ 5. **Benchmark Performance**: Verify no performance regressions
113
+
114
+ #### Extending Resolution Strategies
115
+ 1. **Define the Strategy Interface**: Add to resolution types
116
+ 2. **Implement the Resolver**: Add resolution logic
117
+ 3. **Update the Factory**: Integrate with the resolution factory
118
+ 4. **Test Thoroughly**: Unit tests, integration tests, error scenarios
119
+ 5. **Document Usage**: Update documentation and examples
120
+
121
+ #### Optimizing Performance
122
+ 1. **Profile Current Performance**: Use container benchmarks
123
+ 2. **Identify Bottlenecks**: Focus on hot paths in planning/resolution
124
+ 3. **Implement Optimizations**: Make targeted improvements
125
+ 4. **Verify Improvements**: Re-run benchmarks to confirm gains
126
+ 5. **Test Correctness**: Ensure optimizations don't break functionality
127
+
128
+ ### Important Notes
129
+
130
+ #### Breaking Changes
131
+ - Core changes affect the entire container ecosystem
132
+ - Coordinate with all consuming packages before making changes
133
+ - Provide migration guides for major API changes
134
+ - Test with real-world applications
135
+
136
+ #### Debugging Guidelines
137
+ - Use the planning system to understand resolution flow
138
+ - Check binding metadata and constraints
139
+ - Verify service identifier resolution
140
+ - Use comprehensive error messages for troubleshooting
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @inversifyjs/core
2
2
 
3
+ ## 9.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - 6d890ac: Updated `ClassMetadata.lifecycle` to allow multiple preDestroy and postConstruct methods
8
+
9
+ ### Patch Changes
10
+
11
+ - 0f0fcdc: Deprecated `Provider` type. Use `Factory` instead. Providers will be removed in v8. Providers exist for historical reasons from v5 when async dependencies weren't supported. Factories are more flexible and can handle both sync and async operations.
12
+ - Updated dependencies
13
+ - @inversifyjs/reflect-metadata-utils@1.4.0
14
+
15
+ ## 8.0.0
16
+
17
+ ### Major Changes
18
+
19
+ - 67db8bd: Updated `BindingService` with autobind options
20
+ - 07abb74: Renamed `BasePlanParamsAutobindOptions` to `AutobindOptions`
21
+
3
22
  ## 7.2.0
4
23
 
5
24
  ### Minor Changes
@@ -0,0 +1,5 @@
1
+ import { Newable } from '@inversifyjs/common';
2
+ import { AutobindOptions } from '../models/AutobindOptions';
3
+ import { InstanceBinding } from '../models/InstanceBinding';
4
+ export declare function buildInstanceBinding<TResolved = unknown>(autobindOptions: AutobindOptions, serviceIdentifier: Newable): InstanceBinding<TResolved>;
5
+ //# sourceMappingURL=buildInstanceBinding.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildInstanceBinding.d.ts","sourceRoot":"","sources":["../../../../src/binding/calculations/buildInstanceBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAK9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,wBAAgB,oBAAoB,CAAC,SAAS,GAAG,OAAO,EACtD,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,OAAO,GACzB,eAAe,CAAC,SAAS,CAAC,CAmB5B"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildInstanceBinding = buildInstanceBinding;
4
+ const getClassMetadata_1 = require("../../metadata/calculations/getClassMetadata");
5
+ const getBindingId_1 = require("../actions/getBindingId");
6
+ const BindingType_1 = require("../models/BindingType");
7
+ function buildInstanceBinding(autobindOptions, serviceIdentifier) {
8
+ const classMetadata = (0, getClassMetadata_1.getClassMetadata)(serviceIdentifier);
9
+ const scope = classMetadata.scope ?? autobindOptions.scope;
10
+ return {
11
+ cache: {
12
+ isRight: false,
13
+ value: undefined,
14
+ },
15
+ id: (0, getBindingId_1.getBindingId)(),
16
+ implementationType: serviceIdentifier,
17
+ isSatisfiedBy: () => true,
18
+ moduleId: undefined,
19
+ onActivation: undefined,
20
+ onDeactivation: undefined,
21
+ scope,
22
+ serviceIdentifier,
23
+ type: BindingType_1.bindingTypeValues.Instance,
24
+ };
25
+ }
26
+ //# sourceMappingURL=buildInstanceBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildInstanceBinding.js","sourceRoot":"","sources":["../../../../src/binding/calculations/buildInstanceBinding.ts"],"names":[],"mappings":";;AAUA,oDAsBC;AA9BD,mFAAgF;AAEhF,0DAAuD;AAGvD,uDAA0D;AAG1D,SAAgB,oBAAoB,CAClC,eAAgC,EAChC,iBAA0B;IAE1B,MAAM,aAAa,GAAkB,IAAA,mCAAgB,EAAC,iBAAiB,CAAC,CAAC;IACzE,MAAM,KAAK,GAAiB,aAAa,CAAC,KAAK,IAAI,eAAe,CAAC,KAAK,CAAC;IAEzE,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,SAAS;SACjB;QACD,EAAE,EAAE,IAAA,2BAAY,GAAE;QAClB,kBAAkB,EAAE,iBAAuC;QAC3D,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI;QACzB,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,SAAS;QACvB,cAAc,EAAE,SAAS;QACzB,KAAK;QACL,iBAAiB;QACjB,IAAI,EAAE,+BAAiB,CAAC,QAAQ;KACjC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildInstanceBinding.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildInstanceBinding.spec.d.ts","sourceRoot":"","sources":["../../../../src/binding/calculations/buildInstanceBinding.spec.ts"],"names":[],"mappings":""}
@@ -3,5 +3,6 @@ import { ProviderBinding } from '../models/ProviderBinding';
3
3
  /**
4
4
  * Clones a ProviderBinding
5
5
  */
6
- export declare function cloneProviderBinding<TProvider extends Provider<unknown>>(binding: ProviderBinding<TProvider>): ProviderBinding<TProvider>;
6
+ export declare function cloneProviderBinding<TProvider extends Provider<unknown>>(// eslint-disable-line @typescript-eslint/no-deprecated
7
+ binding: ProviderBinding<TProvider>): ProviderBinding<TProvider>;
7
8
  //# sourceMappingURL=cloneProviderBinding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloneProviderBinding.d.ts","sourceRoot":"","sources":["../../../../src/binding/calculations/cloneProviderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAS,QAAQ,CAAC,OAAO,CAAC,EACtE,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAClC,eAAe,CAAC,SAAS,CAAC,CAa5B"}
1
+ {"version":3,"file":"cloneProviderBinding.d.ts","sourceRoot":"","sources":["../../../../src/binding/calculations/cloneProviderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAG5D;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAG,uDAAuD;AAChI,OAAO,EAAE,eAAe,CAAC,SAAS,CAAC,GAClC,eAAe,CAAC,SAAS,CAAC,CAa5B"}
@@ -5,7 +5,8 @@ const cloneBindingCache_1 = require("./cloneBindingCache");
5
5
  /**
6
6
  * Clones a ProviderBinding
7
7
  */
8
- function cloneProviderBinding(binding) {
8
+ function cloneProviderBinding(// eslint-disable-line @typescript-eslint/no-deprecated
9
+ binding) {
9
10
  return {
10
11
  cache: (0, cloneBindingCache_1.cloneBindingCache)(binding.cache),
11
12
  id: binding.id,
@@ -1 +1 @@
1
- {"version":3,"file":"cloneProviderBinding.js","sourceRoot":"","sources":["../../../../src/binding/calculations/cloneProviderBinding.ts"],"names":[],"mappings":";;AAOA,oDAeC;AApBD,2DAAwD;AAExD;;GAEG;AACH,SAAgB,oBAAoB,CAClC,OAAmC;IAEnC,OAAO;QACL,KAAK,EAAE,IAAA,qCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC;QACvC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cloneProviderBinding.js","sourceRoot":"","sources":["../../../../src/binding/calculations/cloneProviderBinding.ts"],"names":[],"mappings":";;AAOA,oDAeC;AApBD,2DAAwD;AAExD;;GAEG;AACH,SAAgB,oBAAoB,CAAuC,uDAAuD;AAChI,OAAmC;IAEnC,OAAO;QACL,KAAK,EAAE,IAAA,qCAAiB,EAAC,OAAO,CAAC,KAAK,CAAC;QACvC,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,IAAI,EAAE,OAAO,CAAC,IAAI;KACnB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BindingScope } from './BindingScope';
2
+ export interface AutobindOptions {
3
+ scope: BindingScope;
4
+ }
5
+ //# sourceMappingURL=AutobindOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutobindOptions.d.ts","sourceRoot":"","sources":["../../../../src/binding/models/AutobindOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,YAAY,CAAC;CACrB"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=BasePlanParamsAutobindOptions.js.map
3
+ //# sourceMappingURL=AutobindOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AutobindOptions.js","sourceRoot":"","sources":["../../../../src/binding/models/AutobindOptions.ts"],"names":[],"mappings":""}
@@ -1,2 +1,7 @@
1
+ /**
2
+ * @deprecated Use `Factory` instead. Provider will be removed in v8.
3
+ * Providers exist for historical reasons from v5 when async dependencies weren't supported.
4
+ * Factories are more flexible and can handle both sync and async operations.
5
+ */
1
6
  export type Provider<TActivated, in TArgs extends unknown[] = any[]> = (...args: TArgs) => Promise<TActivated>;
2
7
  //# sourceMappingURL=Provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/binding/models/Provider.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,CACrE,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,CAAC,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"Provider.d.ts","sourceRoot":"","sources":["../../../../src/binding/models/Provider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,SAAS,OAAO,EAAE,GAAG,GAAG,EAAE,IAAI,CACrE,GAAG,IAAI,EAAE,KAAK,KACX,OAAO,CAAC,UAAU,CAAC,CAAC"}
@@ -3,7 +3,8 @@ import { bindingScopeValues } from './BindingScope';
3
3
  import { bindingTypeValues } from './BindingType';
4
4
  import { Provider } from './Provider';
5
5
  import { ScopedBinding } from './ScopedBinding';
6
- export interface ProviderBinding<TActivated extends Provider<unknown>> extends ScopedBinding<typeof bindingTypeValues.Provider, typeof bindingScopeValues.Singleton, TActivated> {
6
+ export interface ProviderBinding<TActivated extends Provider<unknown>>// eslint-disable-line @typescript-eslint/no-deprecated
7
+ extends ScopedBinding<typeof bindingTypeValues.Provider, typeof bindingScopeValues.Singleton, TActivated> {
7
8
  readonly provider: (context: ResolutionContext) => TActivated;
8
9
  }
9
10
  //# sourceMappingURL=ProviderBinding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProviderBinding.d.ts","sourceRoot":"","sources":["../../../../src/binding/models/ProviderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,eAAe,CAAC,UAAU,SAAS,QAAQ,CAAC,OAAO,CAAC,CACnE,SAAQ,aAAa,CACnB,OAAO,iBAAiB,CAAC,QAAQ,EACjC,OAAO,kBAAkB,CAAC,SAAS,EACnC,UAAU,CACX;IACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,UAAU,CAAC;CAC/D"}
1
+ {"version":3,"file":"ProviderBinding.d.ts","sourceRoot":"","sources":["../../../../src/binding/models/ProviderBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,eAAe,CAAC,UAAU,SAAS,QAAQ,CAAC,OAAO,CAAC,CAAE,uDAAuD;AAC5H,SAAQ,aAAa,CACnB,OAAO,iBAAiB,CAAC,QAAQ,EACjC,OAAO,kBAAkB,CAAC,SAAS,EACnC,UAAU,CACX;IACD,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,iBAAiB,KAAK,UAAU,CAAC;CAC/D"}
@@ -1,6 +1,7 @@
1
1
  import { ServiceIdentifier } from '@inversifyjs/common';
2
2
  import { Cloneable } from '../../common/models/Cloneable';
3
3
  import { OneToManyMapStar, OneToManyMapStartSpec } from '../../common/models/OneToManyMapStar';
4
+ import { AutobindOptions } from '../models/AutobindOptions';
4
5
  import { Binding } from '../models/Binding';
5
6
  declare enum BindingRelationKind {
6
7
  id = "id",
@@ -19,7 +20,7 @@ export declare class OneToManyBindingMapStar extends OneToManyMapStar<Binding<un
19
20
  export declare class BindingService implements Cloneable<BindingService> {
20
21
  #private;
21
22
  private constructor();
22
- static build(getParent: () => BindingService | undefined): BindingService;
23
+ static build(getParent: () => BindingService | undefined, autobindOptions?: AutobindOptions): BindingService;
23
24
  clone(): BindingService;
24
25
  get<TResolved>(serviceIdentifier: ServiceIdentifier): Iterable<Binding<TResolved>> | undefined;
25
26
  getChained<TResolved>(serviceIdentifier: ServiceIdentifier): Generator<Binding<TResolved>, void, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"BindingService.d.ts","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,aAAK,mBAAmB;IACtB,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACpD;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB,CAC3D,OAAO,CAAC,OAAO,CAAC,EAChB,eAAe,CAChB;cACoB,iBAAiB,CAClC,IAAI,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAC3C,IAAI;cAIY,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1E;AAED,qBAAa,cAAe,YAAW,SAAS,CAAC,cAAc,CAAC;;IAI9D,OAAO;WAqBO,KAAK,CACjB,SAAS,EAAE,MAAM,cAAc,GAAG,SAAS,GAC1C,cAAc;IAIV,KAAK,IAAI,cAAc;IASvB,GAAG,CAAC,SAAS,EAClB,iBAAiB,EAAE,iBAAiB,GACnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAOnC,UAAU,CAAC,SAAS,EAC1B,iBAAiB,EAAE,iBAAiB,GACnC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IAcxC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAiB/C,OAAO,CAAC,SAAS,EACtB,EAAE,EAAE,MAAM,GACT,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,aAAa,CAAC,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,oBAAoB,CAAC,SAAS,EACnC,SAAS,EAAE,iBAAiB,GAC3B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAMpC,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAIxD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAOxD,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;CAYzD"}
1
+ {"version":3,"file":"BindingService.d.ts","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5C,aAAK,mBAAmB;IACtB,EAAE,OAAO;IACT,QAAQ,aAAa;IACrB,SAAS,cAAc;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,mBAAmB,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACjC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACxC,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,iBAAiB,CAAC;CACpD;AAED,qBAAa,uBAAwB,SAAQ,gBAAgB,CAC3D,OAAO,CAAC,OAAO,CAAC,EAChB,eAAe,CAChB;cACoB,iBAAiB,CAClC,IAAI,EAAE,qBAAqB,CAAC,eAAe,CAAC,GAC3C,IAAI;cAIY,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1E;AAED,qBAAa,cAAe,YAAW,SAAS,CAAC,cAAc,CAAC;;IAK9D,OAAO;WAuBO,KAAK,CACjB,SAAS,EAAE,MAAM,cAAc,GAAG,SAAS,EAC3C,eAAe,CAAC,EAAE,eAAe,GAChC,cAAc;IAIV,KAAK,IAAI,cAAc;IAUvB,GAAG,CAAC,SAAS,EAClB,iBAAiB,EAAE,iBAAiB,GACnC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAiBnC,UAAU,CAAC,SAAS,EAC1B,iBAAiB,EAAE,iBAAiB,GACnC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC;IAwBxC,gBAAgB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAiB/C,OAAO,CAAC,SAAS,EACtB,EAAE,EAAE,MAAM,GACT,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,aAAa,CAAC,SAAS,EAC5B,QAAQ,EAAE,MAAM,GACf,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAQpC,oBAAoB,CAAC,SAAS,EACnC,SAAS,EAAE,iBAAiB,GAC3B,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS;IAMpC,yBAAyB,IAAI,QAAQ,CAAC,iBAAiB,CAAC;IAIxD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAI5B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C,oBAAoB,CAAC,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAOxD,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI;CAgCzD"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BindingService = exports.OneToManyBindingMapStar = void 0;
4
4
  const OneToManyMapStar_1 = require("../../common/models/OneToManyMapStar");
5
+ const buildInstanceBinding_1 = require("../calculations/buildInstanceBinding");
5
6
  const cloneBinding_1 = require("../calculations/cloneBinding");
6
7
  var BindingRelationKind;
7
8
  (function (BindingRelationKind) {
@@ -19,9 +20,10 @@ class OneToManyBindingMapStar extends OneToManyMapStar_1.OneToManyMapStar {
19
20
  }
20
21
  exports.OneToManyBindingMapStar = OneToManyBindingMapStar;
21
22
  class BindingService {
23
+ #autobindOptions;
22
24
  #bindingMaps;
23
25
  #getParent;
24
- constructor(getParent, bindingMaps) {
26
+ constructor(getParent, autobindOptions, bindingMaps) {
25
27
  this.#bindingMaps =
26
28
  bindingMaps ??
27
29
  new OneToManyBindingMapStar({
@@ -36,17 +38,25 @@ class BindingService {
36
38
  },
37
39
  });
38
40
  this.#getParent = getParent;
41
+ this.#autobindOptions = autobindOptions;
39
42
  }
40
- static build(getParent) {
41
- return new BindingService(getParent);
43
+ static build(getParent, autobindOptions) {
44
+ return new BindingService(getParent, autobindOptions);
42
45
  }
43
46
  clone() {
44
- const clone = new BindingService(this.#getParent, this.#bindingMaps.clone());
47
+ const clone = new BindingService(this.#getParent, this.#autobindOptions, this.#bindingMaps.clone());
45
48
  return clone;
46
49
  }
47
50
  get(serviceIdentifier) {
48
- return (this.getNonParentBindings(serviceIdentifier) ??
49
- this.#getParent()?.get(serviceIdentifier));
51
+ const bindings = this.getNonParentBindings(serviceIdentifier) ??
52
+ this.#getParent()?.get(serviceIdentifier);
53
+ if (bindings !== undefined) {
54
+ return bindings;
55
+ }
56
+ const autoBoundBinding = this.#tryAutobind(serviceIdentifier);
57
+ return autoBoundBinding === undefined
58
+ ? autoBoundBinding
59
+ : [autoBoundBinding];
50
60
  }
51
61
  *getChained(serviceIdentifier) {
52
62
  const currentBindings = this.getNonParentBindings(serviceIdentifier);
@@ -54,7 +64,15 @@ class BindingService {
54
64
  yield* currentBindings;
55
65
  }
56
66
  const parent = this.#getParent();
57
- if (parent !== undefined) {
67
+ if (parent === undefined) {
68
+ if (currentBindings === undefined) {
69
+ const autobindBindings = this.#tryAutobind(serviceIdentifier);
70
+ if (autobindBindings !== undefined) {
71
+ yield autobindBindings;
72
+ }
73
+ }
74
+ }
75
+ else {
58
76
  yield* parent.getChained(serviceIdentifier);
59
77
  }
60
78
  }
@@ -99,6 +117,15 @@ class BindingService {
99
117
  }
100
118
  this.#bindingMaps.add(binding, relation);
101
119
  }
120
+ #tryAutobind(serviceIdentifier) {
121
+ if (this.#autobindOptions === undefined ||
122
+ typeof serviceIdentifier !== 'function') {
123
+ return undefined;
124
+ }
125
+ const binding = (0, buildInstanceBinding_1.buildInstanceBinding)(this.#autobindOptions, serviceIdentifier);
126
+ this.set(binding);
127
+ return binding;
128
+ }
102
129
  }
103
130
  exports.BindingService = BindingService;
104
131
  //# sourceMappingURL=BindingService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BindingService.js","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BindingService.js","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getBindingId } from './binding/actions/getBindingId';
2
+ import { AutobindOptions } from './binding/models/AutobindOptions';
2
3
  import { BaseBinding } from './binding/models/BaseBinding';
3
4
  import { Binding } from './binding/models/Binding';
4
5
  import { BindingActivation } from './binding/models/BindingActivation';
@@ -39,7 +40,9 @@ import { ClassElementMetadataKind } from './metadata/models/ClassElementMetadata
39
40
  import { ClassMetadata } from './metadata/models/ClassMetadata';
40
41
  import { ClassMetadataLifecycle } from './metadata/models/ClassMetadataLifecycle';
41
42
  import { InjectFromBaseOptions } from './metadata/models/InjectFromBaseOptions';
43
+ import { InjectFromBaseOptionsLifecycle } from './metadata/models/InjectFromBaseOptionsLifecycle';
42
44
  import { InjectFromHierarchyOptions } from './metadata/models/InjectFromHierarchyOptions';
45
+ import { InjectFromHierarchyOptionsLifecycle } from './metadata/models/InjectFromHierarchyOptionsLifecycle';
43
46
  import { InjectFromOptions } from './metadata/models/InjectFromOptions';
44
47
  import { ManagedClassElementMetadata } from './metadata/models/ManagedClassElementMetadata';
45
48
  import { MetadataName } from './metadata/models/MetadataName';
@@ -93,6 +96,6 @@ import { OptionalGetOptions } from './resolution/models/OptionalGetOptions';
93
96
  import { ResolutionContext } from './resolution/models/ResolutionContext';
94
97
  import { ResolutionParams } from './resolution/models/ResolutionParams';
95
98
  import { Resolved } from './resolution/models/Resolved';
96
- export type { BaseBinding, BaseBindingNode, BaseGetPlanOptions, BaseManagedClassElementMetadata, BasePlanParams, Binding, BindingActivation, BindingActivationRelation, BindingDeactivation, BindingDeactivationRelation, BindingConstraints, BindingScope, BindingType, CacheBindingInvalidation, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetAllOptions, GetMultipleServicePlanOptions, GetOptions, GetOptionsTagConstraint, GetPlanOptions, GetPlanOptionsTagConstraint, GetSingleServicePlanOptions, InstanceBinding, InstanceBindingNode, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, InjectFromBaseOptions, InjectFromHierarchyOptions, InjectFromOptions, MultiInjectOptions, MultipleInjectionManagedClassElementMetadata, MultipleInjectionResolvedValueElementMetadata, NonCachedServiceNodeContext, OptionalGetAllOptions, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsOperations, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, SingleInjectionManagedClassElementMetadata, SingleInjectionResolvedValueElementMetadata, UnmanagedClassElementMetadata, };
99
+ export type { BaseBinding, BaseBindingNode, BaseGetPlanOptions, BaseManagedClassElementMetadata, BasePlanParams, AutobindOptions, Binding, BindingActivation, BindingActivationRelation, BindingDeactivation, BindingDeactivationRelation, BindingConstraints, BindingScope, BindingType, CacheBindingInvalidation, ClassElementMetadata, ClassMetadata, ClassMetadataLifecycle, ConstantValueBinding, DeactivationParams, DynamicValueBinding, DynamicValueBuilder, Factory, FactoryBinding, GetAllOptions, GetMultipleServicePlanOptions, GetOptions, GetOptionsTagConstraint, GetPlanOptions, GetPlanOptionsTagConstraint, GetSingleServicePlanOptions, InjectFromBaseOptions, InjectFromBaseOptionsLifecycle, InjectFromHierarchyOptions, InjectFromHierarchyOptionsLifecycle, InstanceBinding, InstanceBindingNode, LeafBindingNode, ManagedClassElementMetadata, MetadataName, MetadataTag, InjectFromOptions, MultiInjectOptions, MultipleInjectionManagedClassElementMetadata, MultipleInjectionResolvedValueElementMetadata, NonCachedServiceNodeContext, OptionalGetAllOptions, OptionalGetOptions, PlanBindingNode, PlanParams, PlanParamsConstraint, PlanParamsOperations, PlanParamsTagConstraint, PlanResult, PlanServiceNode, PlanServiceNodeParent, PlanServiceRedirectionBindingNode, PlanTree, Provider, ProviderBinding, ResolutionContext, ResolutionParams, Resolved, ResolvedValueBinding, ResolvedValueBindingNode, ResolvedValueElementMetadata, ResolvedValueMetadata, ScopedBinding, ServiceRedirectionBinding, SingleInjectionManagedClassElementMetadata, SingleInjectionResolvedValueElementMetadata, UnmanagedClassElementMetadata, };
97
100
  export { ActivationsService, bindingScopeValues, BindingService, bindingTypeValues, CacheBindingInvalidationKind, ClassElementMetadataKind, DeactivationsService, decorate, getBindingId, getClassMetadata, inject, injectable, injectFromBase, injectFromHierarchy, multiInject, named, optional, plan, PlanResultCacheService, postConstruct, preDestroy, resolve, resolveBindingsDeactivations, ResolvedValueElementMetadataKind, resolveModuleDeactivations, resolveServiceDeactivations, tagged, unmanaged, MultipleBindingPlanParamsConstraint, SingleBindingPlanParamsConstraint, };
98
101
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AA0L5D,6FA1LO,2BAAY,OA0LP;AApLd,gEAGuC;AA0KrC,mGA3KA,iCAAkB,OA2KA;AAzKpB,8DAA8E;AA2K5E,kGA3KoB,+BAAiB,OA2KpB;AA/JnB,8EAG+C;AAyJ7C,mGA3JA,uCAAkB,OA2JA;AAxJpB,sEAAmE;AA0JjE,+FA1JO,+BAAc,OA0JP;AAzJhB,kFAGiD;AA0J/C,qGA3JA,2CAAoB,OA2JA;AAzJtB,2DAAwD;AA0JtD,yFA1JO,mBAAQ,OA0JP;AAzJV,+EAA4E;AA2J1E,iGA3JO,mCAAgB,OA2JP;AA1JlB,yDAAsD;AA2JpD,uFA3JO,eAAM,OA2JP;AA1JR,iEAA8D;AA2J5D,2FA3JO,uBAAU,OA2JP;AA1JZ,yEAAsE;AA2JpE,+FA3JO,+BAAc,OA2JP;AA1JhB,mFAAgF;AA2J9E,oGA3JO,yCAAmB,OA2JP;AA1JrB,mEAAgE;AA2J9D,4FA3JO,yBAAW,OA2JP;AA1Jb,uDAAoD;AA2JlD,sFA3JO,aAAK,OA2JP;AA1JP,6DAA0D;AA2JxD,yFA3JO,mBAAQ,OA2JP;AA1JV,uEAAoE;AA6JlE,8FA7JO,6BAAa,OA6JP;AA5Jf,iEAA8D;AA6J5D,2FA7JO,uBAAU,OA6JP;AA5JZ,yDAAsD;AAkKpD,uFAlKO,eAAM,OAkKP;AAjKR,+DAA4D;AAkK1D,0FAlKO,qBAAS,OAkKP;AA/JX,yFAAsF;AAyIpF,yGAzIO,mDAAwB,OAyIP;AA5H1B,yGAAsG;AA8IpG,iHA9IO,mEAAgC,OA8IP;AAzIlC,kDAA+C;AAmI7C,qFAnIO,WAAI,OAmIP;AA9HN,iGAA8F;AAiH5F,6GAjHO,2DAA4B,OAiHP;AA5F9B,uFAAoF;AA0GlF,uGA1GO,+CAAsB,OA0GP;AAzGxB,0DAAuD;AA4GrD,wFA5GO,iBAAO,OA4GP;AA3GT,oGAAiG;AA4G/F,6GA5GO,2DAA4B,OA4GP;AA3G9B,gGAA6F;AA6G3F,2GA7GO,uDAA0B,OA6GP;AA5G5B,kGAA+F;AA6G7F,4GA7GO,yDAA2B,OA6GP"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;AAiM5D,6FAjMO,2BAAY,OAiMP;AA1Ld,gEAGuC;AAgLrC,mGAjLA,iCAAkB,OAiLA;AA/KpB,8DAA8E;AAiL5E,kGAjLoB,+BAAiB,OAiLpB;AArKnB,8EAG+C;AA+J7C,mGAjKA,uCAAkB,OAiKA;AA9JpB,sEAAmE;AAgKjE,+FAhKO,+BAAc,OAgKP;AA/JhB,kFAGiD;AAgK/C,qGAjKA,2CAAoB,OAiKA;AA/JtB,2DAAwD;AAgKtD,yFAhKO,mBAAQ,OAgKP;AA/JV,+EAA4E;AAiK1E,iGAjKO,mCAAgB,OAiKP;AAhKlB,yDAAsD;AAiKpD,uFAjKO,eAAM,OAiKP;AAhKR,iEAA8D;AAiK5D,2FAjKO,uBAAU,OAiKP;AAhKZ,yEAAsE;AAiKpE,+FAjKO,+BAAc,OAiKP;AAhKhB,mFAAgF;AAiK9E,oGAjKO,yCAAmB,OAiKP;AAhKrB,mEAAgE;AAiK9D,4FAjKO,yBAAW,OAiKP;AAhKb,uDAAoD;AAiKlD,sFAjKO,aAAK,OAiKP;AAhKP,6DAA0D;AAiKxD,yFAjKO,mBAAQ,OAiKP;AAhKV,uEAAoE;AAmKlE,8FAnKO,6BAAa,OAmKP;AAlKf,iEAA8D;AAmK5D,2FAnKO,uBAAU,OAmKP;AAlKZ,yDAAsD;AAwKpD,uFAxKO,eAAM,OAwKP;AAvKR,+DAA4D;AAwK1D,0FAxKO,qBAAS,OAwKP;AArKX,yFAAsF;AA+IpF,yGA/IO,mDAAwB,OA+IP;AAhI1B,yGAAsG;AAkJpG,iHAlJO,mEAAgC,OAkJP;AA7IlC,kDAA+C;AAuI7C,qFAvIO,WAAI,OAuIP;AAlIN,iGAA8F;AAqH5F,6GArHO,2DAA4B,OAqHP;AAhG9B,uFAAoF;AA8GlF,uGA9GO,+CAAsB,OA8GP;AA7GxB,0DAAuD;AAgHrD,wFAhHO,iBAAO,OAgHP;AA/GT,oGAAiG;AAgH/F,6GAhHO,2DAA4B,OAgHP;AA/G9B,gGAA6F;AAiH3F,2GAjHO,uDAA0B,OAiHP;AAhH5B,kGAA+F;AAiH7F,4GAjHO,yDAA2B,OAiHP"}
@@ -5,10 +5,10 @@ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
5
5
  const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
6
6
  function updateMaybeClassMetadataPostConstructor(methodName) {
7
7
  return (metadata) => {
8
- if (metadata.lifecycle.postConstructMethodName !== undefined) {
9
- throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict, 'Unexpected duplicated postConstruct decorator');
8
+ if (metadata.lifecycle.postConstructMethodNames.has(methodName)) {
9
+ throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict, `Unexpected duplicated postConstruct method ${methodName.toString()}`);
10
10
  }
11
- metadata.lifecycle.postConstructMethodName = methodName;
11
+ metadata.lifecycle.postConstructMethodNames.add(methodName);
12
12
  return metadata;
13
13
  };
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateMaybeClassMetadataPostConstructor.js","sourceRoot":"","sources":["../../../../src/metadata/actions/updateMaybeClassMetadataPostConstructor.ts"],"names":[],"mappings":";;AAIA,0FAeC;AAnBD,8EAA2E;AAC3E,sFAAmF;AAGnF,SAAgB,uCAAuC,CACrD,UAA2B;IAE3B,OAAO,CAAC,QAA4B,EAAsB,EAAE;QAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,0BAA0B,EACjD,+CAA+C,CAChD,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,uBAAuB,GAAG,UAAU,CAAC;QAExD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"updateMaybeClassMetadataPostConstructor.js","sourceRoot":"","sources":["../../../../src/metadata/actions/updateMaybeClassMetadataPostConstructor.ts"],"names":[],"mappings":";;AAIA,0FAeC;AAnBD,8EAA2E;AAC3E,sFAAmF;AAGnF,SAAgB,uCAAuC,CACrD,UAA2B;IAE3B,OAAO,CAAC,QAA4B,EAAsB,EAAE;QAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,0BAA0B,EACjD,8CAA8C,UAAU,CAAC,QAAQ,EAAE,EAAE,CACtE,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE5D,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
@@ -5,10 +5,10 @@ const InversifyCoreError_1 = require("../../error/models/InversifyCoreError");
5
5
  const InversifyCoreErrorKind_1 = require("../../error/models/InversifyCoreErrorKind");
6
6
  function updateMaybeClassMetadataPreDestroy(methodName) {
7
7
  return (metadata) => {
8
- if (metadata.lifecycle.preDestroyMethodName !== undefined) {
9
- throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict, 'Unexpected duplicated preDestroy decorator');
8
+ if (metadata.lifecycle.preDestroyMethodNames.has(methodName)) {
9
+ throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict, `Unexpected duplicated preDestroy method ${methodName.toString()}`);
10
10
  }
11
- metadata.lifecycle.preDestroyMethodName = methodName;
11
+ metadata.lifecycle.preDestroyMethodNames.add(methodName);
12
12
  return metadata;
13
13
  };
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"updateMaybeClassMetadataPreDestroy.js","sourceRoot":"","sources":["../../../../src/metadata/actions/updateMaybeClassMetadataPreDestroy.ts"],"names":[],"mappings":";;AAIA,gFAeC;AAnBD,8EAA2E;AAC3E,sFAAmF;AAGnF,SAAgB,kCAAkC,CAChD,UAA2B;IAE3B,OAAO,CAAC,QAA4B,EAAsB,EAAE;QAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,0BAA0B,EACjD,4CAA4C,CAC7C,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,oBAAoB,GAAG,UAAU,CAAC;QAErD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"updateMaybeClassMetadataPreDestroy.js","sourceRoot":"","sources":["../../../../src/metadata/actions/updateMaybeClassMetadataPreDestroy.ts"],"names":[],"mappings":";;AAIA,gFAeC;AAnBD,8EAA2E;AAC3E,sFAAmF;AAGnF,SAAgB,kCAAkC,CAChD,UAA2B;IAE3B,OAAO,CAAC,QAA4B,EAAsB,EAAE;QAC1D,IAAI,QAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,uCAAkB,CAC1B,+CAAsB,CAAC,0BAA0B,EACjD,2CAA2C,UAAU,CAAC,QAAQ,EAAE,EAAE,CACnE,CAAC;QACJ,CAAC;QAED,QAAQ,CAAC,SAAS,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEzD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC"}
@@ -5,8 +5,8 @@ function getDefaultClassMetadata() {
5
5
  return {
6
6
  constructorArguments: [],
7
7
  lifecycle: {
8
- postConstructMethodName: undefined,
9
- preDestroyMethodName: undefined,
8
+ postConstructMethodNames: new Set(),
9
+ preDestroyMethodNames: new Set(),
10
10
  },
11
11
  properties: new Map(),
12
12
  scope: undefined,
@@ -1 +1 @@
1
- {"version":3,"file":"getDefaultClassMetadata.js","sourceRoot":"","sources":["../../../../src/metadata/calculations/getDefaultClassMetadata.ts"],"names":[],"mappings":";;AAEA,0DAUC;AAVD,SAAgB,uBAAuB;IACrC,OAAO;QACL,oBAAoB,EAAE,EAAE;QACxB,SAAS,EAAE;YACT,uBAAuB,EAAE,SAAS;YAClC,oBAAoB,EAAE,SAAS;SAChC;QACD,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"getDefaultClassMetadata.js","sourceRoot":"","sources":["../../../../src/metadata/calculations/getDefaultClassMetadata.ts"],"names":[],"mappings":";;AAEA,0DAUC;AAVD,SAAgB,uBAAuB;IACrC,OAAO;QACL,oBAAoB,EAAE,EAAE;QACxB,SAAS,EAAE;YACT,wBAAwB,EAAE,IAAI,GAAG,EAAE;YACnC,qBAAqB,EAAE,IAAI,GAAG,EAAE;SACjC;QACD,UAAU,EAAE,IAAI,GAAG,EAAE;QACrB,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { ClassMetadata } from '../models/ClassMetadata';
2
+ import { ClassMetadataLifecycle } from '../models/ClassMetadataLifecycle';
3
+ import { InjectFromOptions } from '../models/InjectFromOptions';
4
+ export declare function getExtendedLifecycle(options: InjectFromOptions, baseTypeClassMetadata: ClassMetadata, typeMetadata: ClassMetadata): ClassMetadataLifecycle;
5
+ //# sourceMappingURL=getExtendedLifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtendedLifecycle.d.ts","sourceRoot":"","sources":["../../../../src/metadata/calculations/getExtendedLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAC1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAchE,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,iBAAiB,EAC1B,qBAAqB,EAAE,aAAa,EACpC,YAAY,EAAE,aAAa,GAC1B,sBAAsB,CAsBxB"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getExtendedLifecycle = getExtendedLifecycle;
4
+ function getLifecycleSetUnion(extend, baseSet, currentSet) {
5
+ if (extend) {
6
+ return new Set([...baseSet, ...currentSet]);
7
+ }
8
+ return currentSet;
9
+ }
10
+ function getExtendedLifecycle(options, baseTypeClassMetadata, typeMetadata) {
11
+ const extendPostConstructMethods = options.lifecycle?.extendPostConstructMethods ?? true;
12
+ const extendPreDestroyMethods = options.lifecycle?.extendPreDestroyMethods ?? true;
13
+ const preDestroyMethodNames = getLifecycleSetUnion(extendPreDestroyMethods, baseTypeClassMetadata.lifecycle.preDestroyMethodNames, typeMetadata.lifecycle.preDestroyMethodNames);
14
+ const postConstructMethodNames = getLifecycleSetUnion(extendPostConstructMethods, baseTypeClassMetadata.lifecycle.postConstructMethodNames, typeMetadata.lifecycle.postConstructMethodNames);
15
+ return {
16
+ postConstructMethodNames,
17
+ preDestroyMethodNames,
18
+ };
19
+ }
20
+ //# sourceMappingURL=getExtendedLifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getExtendedLifecycle.js","sourceRoot":"","sources":["../../../../src/metadata/calculations/getExtendedLifecycle.ts"],"names":[],"mappings":";;AAgBA,oDA0BC;AAtCD,SAAS,oBAAoB,CAC3B,MAAe,EACf,OAAe,EACf,UAAkB;IAElB,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,oBAAoB,CAClC,OAA0B,EAC1B,qBAAoC,EACpC,YAA2B;IAE3B,MAAM,0BAA0B,GAC9B,OAAO,CAAC,SAAS,EAAE,0BAA0B,IAAI,IAAI,CAAC;IACxD,MAAM,uBAAuB,GAC3B,OAAO,CAAC,SAAS,EAAE,uBAAuB,IAAI,IAAI,CAAC;IAErD,MAAM,qBAAqB,GAAyB,oBAAoB,CACtE,uBAAuB,EACvB,qBAAqB,CAAC,SAAS,CAAC,qBAAqB,EACrD,YAAY,CAAC,SAAS,CAAC,qBAAqB,CAC7C,CAAC;IAEF,MAAM,wBAAwB,GAAyB,oBAAoB,CACzE,0BAA0B,EAC1B,qBAAqB,CAAC,SAAS,CAAC,wBAAwB,EACxD,YAAY,CAAC,SAAS,CAAC,wBAAwB,CAChD,CAAC;IAEF,OAAO;QACL,wBAAwB;QACxB,qBAAqB;KACtB,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=getExtendedLifecycle.spec.d.ts.map