@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.
- package/AGENTS.md +140 -0
- package/CHANGELOG.md +19 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.d.ts +5 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.js +26 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.js.map +1 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.spec.d.ts +2 -0
- package/lib/cjs/binding/calculations/buildInstanceBinding.spec.d.ts.map +1 -0
- package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts +2 -1
- package/lib/cjs/binding/calculations/cloneProviderBinding.d.ts.map +1 -1
- package/lib/cjs/binding/calculations/cloneProviderBinding.js +2 -1
- package/lib/cjs/binding/calculations/cloneProviderBinding.js.map +1 -1
- package/lib/cjs/binding/models/AutobindOptions.d.ts +5 -0
- package/lib/cjs/binding/models/AutobindOptions.d.ts.map +1 -0
- package/lib/cjs/{planning/models/BasePlanParamsAutobindOptions.js → binding/models/AutobindOptions.js} +1 -1
- package/lib/cjs/binding/models/AutobindOptions.js.map +1 -0
- package/lib/cjs/binding/models/Provider.d.ts +5 -0
- package/lib/cjs/binding/models/Provider.d.ts.map +1 -1
- package/lib/cjs/binding/models/ProviderBinding.d.ts +2 -1
- package/lib/cjs/binding/models/ProviderBinding.d.ts.map +1 -1
- package/lib/cjs/binding/services/BindingService.d.ts +2 -1
- package/lib/cjs/binding/services/BindingService.d.ts.map +1 -1
- package/lib/cjs/binding/services/BindingService.js +34 -7
- package/lib/cjs/binding/services/BindingService.js.map +1 -1
- package/lib/cjs/index.d.ts +4 -1
- package/lib/cjs/index.d.ts.map +1 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js +3 -3
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPostConstructor.js.map +1 -1
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js +3 -3
- package/lib/cjs/metadata/actions/updateMaybeClassMetadataPreDestroy.js.map +1 -1
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js +2 -2
- package/lib/cjs/metadata/calculations/getDefaultClassMetadata.js.map +1 -1
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.d.ts +5 -0
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.d.ts.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.js +20 -0
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.js.map +1 -0
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.spec.d.ts +2 -0
- package/lib/cjs/metadata/calculations/getExtendedLifecycle.spec.d.ts.map +1 -0
- package/lib/cjs/metadata/decorators/injectFrom.d.ts.map +1 -1
- package/lib/cjs/metadata/decorators/injectFrom.js +2 -1
- package/lib/cjs/metadata/decorators/injectFrom.js.map +1 -1
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts +2 -2
- package/lib/cjs/metadata/models/ClassMetadataLifecycle.d.ts.map +1 -1
- package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts +2 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptions.d.ts.map +1 -1
- package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.d.ts +5 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.d.ts.map +1 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.js +3 -0
- package/lib/cjs/metadata/models/InjectFromBaseOptionsLifecycle.js.map +1 -0
- package/lib/cjs/metadata/models/InjectFromHierarchyOptions.d.ts +2 -0
- package/lib/cjs/metadata/models/InjectFromHierarchyOptions.d.ts.map +1 -1
- package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.d.ts +5 -0
- package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.d.ts.map +1 -0
- package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.js +3 -0
- package/lib/cjs/metadata/models/InjectFromHierarchyOptionsLifecycle.js.map +1 -0
- package/lib/cjs/metadata/models/InjectFromOptions.d.ts +2 -0
- package/lib/cjs/metadata/models/InjectFromOptions.d.ts.map +1 -1
- package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.d.ts +5 -0
- package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.d.ts.map +1 -0
- package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.js +3 -0
- package/lib/cjs/metadata/models/InjectFromOptionsLifecycle.js.map +1 -0
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.d.ts.map +1 -1
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js +5 -24
- package/lib/cjs/planning/calculations/buildFilteredServiceBindings.js.map +1 -1
- package/lib/cjs/planning/models/BasePlanParams.d.ts +2 -2
- package/lib/cjs/planning/models/BasePlanParams.d.ts.map +1 -1
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js +22 -6
- package/lib/cjs/resolution/actions/resolveBindingPreDestroy.js.map +1 -1
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.d.ts.map +1 -1
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js +17 -2
- package/lib/cjs/resolution/actions/resolveInstanceBindingNodeFromConstructorParams.js.map +1 -1
- package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts +1 -1
- package/lib/cjs/resolution/actions/resolvePostConstruct.d.ts.map +1 -1
- package/lib/cjs/resolution/actions/resolvePostConstruct.js +0 -3
- package/lib/cjs/resolution/actions/resolvePostConstruct.js.map +1 -1
- package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts +2 -1
- package/lib/cjs/resolution/actions/resolveProviderBinding.d.ts.map +1 -1
- package/lib/esm/index.d.ts +39 -15
- package/lib/esm/index.d.ts.map +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/index.js.map +1 -1
- package/package.json +10 -10
- package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts +0 -5
- package/lib/cjs/planning/models/BasePlanParamsAutobindOptions.d.ts.map +0 -1
- 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 @@
|
|
|
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>>(
|
|
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,
|
|
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(
|
|
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,
|
|
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 @@
|
|
|
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"}
|
|
@@ -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":"
|
|
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
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
|
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":";;;AAGA,2EAG8C;AAC9C,+DAA4D;
|
|
1
|
+
{"version":3,"file":"BindingService.js","sourceRoot":"","sources":["../../../../src/binding/services/BindingService.ts"],"names":[],"mappings":"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"}
|
package/lib/cjs/index.d.ts
CHANGED
|
@@ -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,
|
|
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
|
package/lib/cjs/index.d.ts.map
CHANGED
|
@@ -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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"}
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,iEAA8D;
|
|
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.
|
|
9
|
-
throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict,
|
|
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.
|
|
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,
|
|
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.
|
|
9
|
-
throw new InversifyCoreError_1.InversifyCoreError(InversifyCoreErrorKind_1.InversifyCoreErrorKind.injectionDecoratorConflict,
|
|
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.
|
|
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,
|
|
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
|
-
|
|
9
|
-
|
|
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,
|
|
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"}
|