ts-ioc-container 23.3.4 → 23.3.6
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/README.md +54 -41
- package/cjs/container/AutoMockedContainer.js +15 -18
- package/cjs/container/AutoMockedContainer.js.map +1 -1
- package/cjs/container/Container.js +44 -130
- package/cjs/container/Container.js.map +1 -1
- package/cjs/container/ContainerDisposedError.js +8 -26
- package/cjs/container/ContainerDisposedError.js.map +1 -1
- package/cjs/container/DependencyNotFoundError.js +6 -24
- package/cjs/container/DependencyNotFoundError.js.map +1 -1
- package/cjs/container/EmptyContainer.js +20 -23
- package/cjs/container/EmptyContainer.js.map +1 -1
- package/cjs/container/MethodNotImplementedError.js +6 -24
- package/cjs/container/MethodNotImplementedError.js.map +1 -1
- package/cjs/injector/ProxyInjector.js +7 -25
- package/cjs/injector/ProxyInjector.js.map +1 -1
- package/cjs/injector/ReflectionInjector.js +15 -59
- package/cjs/injector/ReflectionInjector.js.map +1 -1
- package/cjs/injector/SimpleInjector.js +4 -36
- package/cjs/injector/SimpleInjector.js.map +1 -1
- package/cjs/provider/ArgsProvider.js +15 -67
- package/cjs/provider/ArgsProvider.js.map +1 -1
- package/cjs/provider/Provider.js +23 -70
- package/cjs/provider/Provider.js.map +1 -1
- package/cjs/provider/ProviderDecorator.js +12 -47
- package/cjs/provider/ProviderDecorator.js.map +1 -1
- package/cjs/provider/SingletonProvider.js +12 -60
- package/cjs/provider/SingletonProvider.js.map +1 -1
- package/cjs/provider/TaggedProvider.js +14 -36
- package/cjs/provider/TaggedProvider.js.map +1 -1
- package/cjs/reflection.js +5 -34
- package/cjs/reflection.js.map +1 -1
- package/cjs/registration/DependencyMissingKeyError.js +6 -24
- package/cjs/registration/DependencyMissingKeyError.js.map +1 -1
- package/cjs/registration/Registration.js +16 -47
- package/cjs/registration/Registration.js.map +1 -1
- package/cjs/utils.js +5 -29
- package/cjs/utils.js.map +1 -1
- package/package.json +8 -4
package/README.md
CHANGED
|
@@ -52,21 +52,24 @@ It consists of 2 main parts:
|
|
|
52
52
|
|
|
53
53
|
```typescript
|
|
54
54
|
import 'reflect-metadata';
|
|
55
|
-
import { Container } from
|
|
55
|
+
import { by, Container, inject, ReflectionInjector, Provider } from 'ts-ioc-container';
|
|
56
56
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
57
|
+
describe('Basic usage', function () {
|
|
58
|
+
it('should inject dependencies', function () {
|
|
59
|
+
class Logger {
|
|
60
|
+
name = 'Logger';
|
|
61
|
+
}
|
|
60
62
|
|
|
61
|
-
class App {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
63
|
+
class App {
|
|
64
|
+
constructor(@inject(by('ILogger')) public logger: Logger) {}
|
|
65
|
+
}
|
|
65
66
|
|
|
66
|
-
const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
|
|
67
|
-
|
|
67
|
+
const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
|
|
68
|
+
|
|
69
|
+
expect(container.resolve(App).logger.name).toBe('Logger');
|
|
70
|
+
});
|
|
71
|
+
});
|
|
68
72
|
|
|
69
|
-
container.dispose();
|
|
70
73
|
```
|
|
71
74
|
|
|
72
75
|
### Scopes
|
|
@@ -104,16 +107,23 @@ Sometimes you want to get all instances from container and its scopes. For examp
|
|
|
104
107
|
- you can get instances from container and scope which were created by injector
|
|
105
108
|
|
|
106
109
|
```typescript
|
|
107
|
-
import
|
|
110
|
+
import 'reflect-metadata';
|
|
111
|
+
import { Container, Provider, ReflectionInjector } from 'ts-ioc-container';
|
|
112
|
+
describe('Instances', function () {
|
|
113
|
+
it('should return injected instances', function () {
|
|
114
|
+
class Logger {}
|
|
108
115
|
|
|
109
|
-
const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
|
|
110
|
-
const scope = container.createScope();
|
|
116
|
+
const container = new Container(new ReflectionInjector()).register('ILogger', Provider.fromClass(Logger));
|
|
117
|
+
const scope = container.createScope();
|
|
111
118
|
|
|
112
|
-
const logger1 = container.resolve('ILogger');
|
|
113
|
-
const logger2 = scope.resolve('ILogger');
|
|
119
|
+
const logger1 = container.resolve('ILogger');
|
|
120
|
+
const logger2 = scope.resolve('ILogger');
|
|
121
|
+
|
|
122
|
+
expect(scope.getInstances().length).toBe(1);
|
|
123
|
+
expect(container.getInstances().length).toBe(2);
|
|
124
|
+
});
|
|
125
|
+
});
|
|
114
126
|
|
|
115
|
-
expect(scope.getInstances().length).toBe(1);
|
|
116
|
-
expect(container.getInstances().length).toBe(2);
|
|
117
127
|
```
|
|
118
128
|
|
|
119
129
|
### Disposing
|
|
@@ -464,39 +474,42 @@ for (const instance of container.getInstances()) {
|
|
|
464
474
|
Sometimes you need to automatically mock all dependencies in container. This is what `AutoMockedContainer` is for.
|
|
465
475
|
|
|
466
476
|
```typescript
|
|
467
|
-
import {
|
|
468
|
-
|
|
469
|
-
Container,
|
|
470
|
-
DependencyKey,
|
|
471
|
-
} from "ts-ioc-container";
|
|
472
|
-
import { Mock } from "moq.ts";
|
|
477
|
+
import { AutoMockedContainer, Container, DependencyKey, ReflectionInjector } from 'ts-ioc-container';
|
|
478
|
+
import { IMock, Mock } from 'moq.ts';
|
|
473
479
|
|
|
474
480
|
export class MoqContainer extends AutoMockedContainer {
|
|
475
|
-
|
|
481
|
+
private mocks = new Map<DependencyKey, IMock<any>>();
|
|
476
482
|
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
483
|
+
resolve<T>(key: DependencyKey): T {
|
|
484
|
+
return this.resolveMock<T>(key).object();
|
|
485
|
+
}
|
|
480
486
|
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
487
|
+
resolveMock<T>(key: DependencyKey): IMock<T> {
|
|
488
|
+
if (!this.mocks.has(key)) {
|
|
489
|
+
this.mocks.set(key, new Mock());
|
|
490
|
+
}
|
|
491
|
+
return this.mocks.get(key) as IMock<T>;
|
|
484
492
|
}
|
|
485
|
-
return this.mocks.get(key) as IMock<T>;
|
|
486
|
-
}
|
|
487
493
|
}
|
|
488
494
|
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
495
|
+
interface IEngine {
|
|
496
|
+
getRegistrationNumber(): string;
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
describe('Mocking', () => {
|
|
500
|
+
it('should auto-mock dependencies', () => {
|
|
501
|
+
const mockContainer = new MoqContainer();
|
|
502
|
+
const container = new Container(new ReflectionInjector(), { parent: mockContainer });
|
|
503
|
+
|
|
504
|
+
const engineMock = mockContainer.resolveMock<IEngine>('IEngine');
|
|
505
|
+
engineMock.setup((i) => i.getRegistrationNumber()).returns('123');
|
|
492
506
|
|
|
493
|
-
|
|
494
|
-
engineMock.setup(i => i.getRegistrationNumber()).return('123');
|
|
507
|
+
const engine = container.resolve<IEngine>('IEngine');
|
|
495
508
|
|
|
496
|
-
|
|
509
|
+
expect(engine.getRegistrationNumber()).toBe('123');
|
|
510
|
+
});
|
|
511
|
+
});
|
|
497
512
|
|
|
498
|
-
expect(engine.getRegistrationNumber()).toBe('123');
|
|
499
|
-
})
|
|
500
513
|
```
|
|
501
514
|
|
|
502
515
|
|
|
@@ -1,28 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AutoMockedContainer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
AutoMockedContainer.prototype.createScope = function () {
|
|
4
|
+
const index_1 = require("../index");
|
|
5
|
+
class AutoMockedContainer {
|
|
6
|
+
createScope() {
|
|
9
7
|
throw new index_1.MethodNotImplementedError();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
}
|
|
9
|
+
dispose() { }
|
|
10
|
+
getProviders() {
|
|
13
11
|
return new Map();
|
|
14
|
-
}
|
|
15
|
-
|
|
12
|
+
}
|
|
13
|
+
register() {
|
|
16
14
|
throw new index_1.MethodNotImplementedError();
|
|
17
|
-
}
|
|
18
|
-
|
|
15
|
+
}
|
|
16
|
+
getInstances() {
|
|
19
17
|
return [];
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
}
|
|
19
|
+
removeScope() { }
|
|
20
|
+
add() {
|
|
23
21
|
throw new index_1.MethodNotImplementedError();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
}());
|
|
22
|
+
}
|
|
23
|
+
}
|
|
27
24
|
exports.AutoMockedContainer = AutoMockedContainer;
|
|
28
25
|
//# sourceMappingURL=AutoMockedContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AutoMockedContainer.js","sourceRoot":"","sources":["../../lib/container/AutoMockedContainer.ts"],"names":[],"mappings":";;;AAAA,oCAA2G;AAE3G,MAAsB,mBAAmB;IACrC,WAAW;QACP,MAAM,IAAI,iCAAyB,EAAE,CAAC;IAC1C,CAAC;IAID,OAAO,KAAU,CAAC;IAElB,YAAY;QACR,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ;QACJ,MAAM,IAAI,iCAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,YAAY;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG;QACC,MAAM,IAAI,iCAAyB,EAAE,CAAC;IAC1C,CAAC;CACJ;AA1BD,kDA0BC"}
|
|
@@ -1,48 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
-
if (!m) return o;
|
|
5
|
-
var i = m.call(o), r, ar = [], e;
|
|
6
|
-
try {
|
|
7
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
-
}
|
|
9
|
-
catch (error) { e = { error: error }; }
|
|
10
|
-
finally {
|
|
11
|
-
try {
|
|
12
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
-
}
|
|
14
|
-
finally { if (e) throw e.error; }
|
|
15
|
-
}
|
|
16
|
-
return ar;
|
|
17
|
-
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
-
if (ar || !(i in from)) {
|
|
21
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
-
ar[i] = from[i];
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
-
};
|
|
27
|
-
var __values = (this && this.__values) || function(o) {
|
|
28
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
29
|
-
if (m) return m.call(o);
|
|
30
|
-
if (o && typeof o.length === "number") return {
|
|
31
|
-
next: function () {
|
|
32
|
-
if (o && i >= o.length) o = void 0;
|
|
33
|
-
return { value: o && o[i++], done: !o };
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
37
|
-
};
|
|
38
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
3
|
exports.Container = void 0;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
if (options === void 0) { options = {}; }
|
|
4
|
+
const IContainer_1 = require("./IContainer");
|
|
5
|
+
const EmptyContainer_1 = require("./EmptyContainer");
|
|
6
|
+
const ContainerDisposedError_1 = require("./ContainerDisposedError");
|
|
7
|
+
class Container {
|
|
8
|
+
constructor(injector, options = {}) {
|
|
46
9
|
var _a, _b;
|
|
47
10
|
this.injector = injector;
|
|
48
11
|
this.providers = new Map();
|
|
@@ -52,118 +15,69 @@ var Container = /** @class */ (function () {
|
|
|
52
15
|
this.parent = (_a = options.parent) !== null && _a !== void 0 ? _a : new EmptyContainer_1.EmptyContainer();
|
|
53
16
|
this.tags = (_b = options.tags) !== null && _b !== void 0 ? _b : [];
|
|
54
17
|
}
|
|
55
|
-
|
|
18
|
+
register(key, provider) {
|
|
56
19
|
this.validateContainer();
|
|
57
20
|
this.providers.set(key, provider);
|
|
58
21
|
return this;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
var args = [];
|
|
62
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
63
|
-
args[_i - 1] = arguments[_i];
|
|
64
|
-
}
|
|
22
|
+
}
|
|
23
|
+
resolve(key, ...args) {
|
|
65
24
|
this.validateContainer();
|
|
66
|
-
return (0, IContainer_1.isDependencyKey)(key) ? this.resolveByProvider
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
var provider = this.providers.get(key);
|
|
75
|
-
return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve.apply(provider, __spreadArray([this], __read(args), false)) : (_a = this.parent).resolve.apply(_a, __spreadArray([key], __read(args), false));
|
|
76
|
-
};
|
|
77
|
-
Container.prototype.resolveByInjector = function (key) {
|
|
78
|
-
var _a;
|
|
79
|
-
var args = [];
|
|
80
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
81
|
-
args[_i - 1] = arguments[_i];
|
|
82
|
-
}
|
|
83
|
-
var instance = (_a = this.injector).resolve.apply(_a, __spreadArray([this, key], __read(args), false));
|
|
25
|
+
return (0, IContainer_1.isDependencyKey)(key) ? this.resolveByProvider(key, ...args) : this.resolveByInjector(key, ...args);
|
|
26
|
+
}
|
|
27
|
+
resolveByProvider(key, ...args) {
|
|
28
|
+
const provider = this.providers.get(key);
|
|
29
|
+
return (provider === null || provider === void 0 ? void 0 : provider.isValid(this)) ? provider.resolve(this, ...args) : this.parent.resolve(key, ...args);
|
|
30
|
+
}
|
|
31
|
+
resolveByInjector(key, ...args) {
|
|
32
|
+
const instance = this.injector.resolve(this, key, ...args);
|
|
84
33
|
this.instances.add(instance);
|
|
85
34
|
return instance;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
var e_1, _a;
|
|
89
|
-
if (tags === void 0) { tags = []; }
|
|
35
|
+
}
|
|
36
|
+
createScope(tags = []) {
|
|
90
37
|
this.validateContainer();
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (provider.isValid(scope)) {
|
|
96
|
-
scope.register(key, provider.clone());
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
101
|
-
finally {
|
|
102
|
-
try {
|
|
103
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
38
|
+
const scope = new Container(this.injector, { parent: this, tags });
|
|
39
|
+
for (const [key, provider] of this.getProviders()) {
|
|
40
|
+
if (provider.isValid(scope)) {
|
|
41
|
+
scope.register(key, provider.clone());
|
|
104
42
|
}
|
|
105
|
-
finally { if (e_1) throw e_1.error; }
|
|
106
43
|
}
|
|
107
44
|
this.scopes.add(scope);
|
|
108
45
|
return scope;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
var e_2, _a;
|
|
46
|
+
}
|
|
47
|
+
dispose() {
|
|
112
48
|
this.validateContainer();
|
|
113
49
|
this.isDisposed = true;
|
|
114
50
|
this.parent.removeScope(this);
|
|
115
51
|
this.parent = new EmptyContainer_1.EmptyContainer();
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var scope = _c.value;
|
|
119
|
-
scope.dispose();
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
123
|
-
finally {
|
|
124
|
-
try {
|
|
125
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
126
|
-
}
|
|
127
|
-
finally { if (e_2) throw e_2.error; }
|
|
52
|
+
for (const scope of this.scopes) {
|
|
53
|
+
scope.dispose();
|
|
128
54
|
}
|
|
129
55
|
this.providers.clear();
|
|
130
56
|
this.instances.clear();
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
return new Map(
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
for (var _b = __values(this.scopes), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
140
|
-
var scope = _c.value;
|
|
141
|
-
instances.push.apply(instances, __spreadArray([], __read(scope.getInstances()), false));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
145
|
-
finally {
|
|
146
|
-
try {
|
|
147
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
148
|
-
}
|
|
149
|
-
finally { if (e_3) throw e_3.error; }
|
|
57
|
+
}
|
|
58
|
+
getProviders() {
|
|
59
|
+
return new Map([...this.parent.getProviders(), ...this.providers]);
|
|
60
|
+
}
|
|
61
|
+
getInstances() {
|
|
62
|
+
const instances = Array.from(this.instances);
|
|
63
|
+
for (const scope of this.scopes) {
|
|
64
|
+
instances.push(...scope.getInstances());
|
|
150
65
|
}
|
|
151
66
|
return instances;
|
|
152
|
-
}
|
|
153
|
-
|
|
67
|
+
}
|
|
68
|
+
removeScope(child) {
|
|
154
69
|
this.scopes.delete(child);
|
|
155
|
-
}
|
|
156
|
-
|
|
70
|
+
}
|
|
71
|
+
hasTag(tag) {
|
|
157
72
|
return this.tags.includes(tag);
|
|
158
|
-
}
|
|
159
|
-
|
|
73
|
+
}
|
|
74
|
+
add(module) {
|
|
160
75
|
module.applyTo(this);
|
|
161
76
|
return this;
|
|
162
|
-
}
|
|
163
|
-
|
|
77
|
+
}
|
|
78
|
+
validateContainer() {
|
|
164
79
|
ContainerDisposedError_1.ContainerDisposedError.assert(!this.isDisposed, 'Container is already disposed');
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
}());
|
|
80
|
+
}
|
|
81
|
+
}
|
|
168
82
|
exports.Container = Container;
|
|
169
83
|
//# sourceMappingURL=Container.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Container.js","sourceRoot":"","sources":["../../lib/container/Container.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.ContainerDisposedError = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.setPrototypeOf(_this, ContainerDisposedError.prototype);
|
|
25
|
-
return _this;
|
|
4
|
+
class ContainerDisposedError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'ContainerDisposedError';
|
|
8
|
+
Object.setPrototypeOf(this, ContainerDisposedError.prototype);
|
|
26
9
|
}
|
|
27
|
-
|
|
10
|
+
static assert(isTrue, failMessage) {
|
|
28
11
|
if (!isTrue) {
|
|
29
12
|
throw new ContainerDisposedError(failMessage);
|
|
30
13
|
}
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
}(Error));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
34
16
|
exports.ContainerDisposedError = ContainerDisposedError;
|
|
35
17
|
//# sourceMappingURL=ContainerDisposedError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContainerDisposedError.js","sourceRoot":"","sources":["../../lib/container/ContainerDisposedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,sBAAuB,SAAQ,KAAK;IAS7C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,wBAAwB,CAAC;QAK5B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAZD,MAAM,CAAC,MAAM,CAAC,MAAe,EAAE,WAAmB;QAC9C,IAAI,CAAC,MAAM,EAAE;YACT,MAAM,IAAI,sBAAsB,CAAC,WAAW,CAAC,CAAC;SACjD;IACL,CAAC;CASJ;AAdD,wDAcC"}
|
|
@@ -1,30 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.DependencyNotFoundError = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.setPrototypeOf(_this, DependencyNotFoundError.prototype);
|
|
25
|
-
return _this;
|
|
4
|
+
class DependencyNotFoundError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'DependencyNotFoundError';
|
|
8
|
+
Object.setPrototypeOf(this, DependencyNotFoundError.prototype);
|
|
26
9
|
}
|
|
27
|
-
|
|
28
|
-
}(Error));
|
|
10
|
+
}
|
|
29
11
|
exports.DependencyNotFoundError = DependencyNotFoundError;
|
|
30
12
|
//# sourceMappingURL=DependencyNotFoundError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DependencyNotFoundError.js","sourceRoot":"","sources":["../../lib/container/DependencyNotFoundError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DependencyNotFoundError.js","sourceRoot":"","sources":["../../lib/container/DependencyNotFoundError.ts"],"names":[],"mappings":";;;AAAA,MAAa,uBAAwB,SAAQ,KAAK;IAG9C,YAAY,OAAe;QACvB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,yBAAyB,CAAC;QAK7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;CACJ;AARD,0DAQC"}
|
|
@@ -1,34 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.EmptyContainer = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
}
|
|
9
|
-
EmptyContainer.prototype.createScope = function () {
|
|
4
|
+
const MethodNotImplementedError_1 = require("./MethodNotImplementedError");
|
|
5
|
+
const DependencyNotFoundError_1 = require("./DependencyNotFoundError");
|
|
6
|
+
class EmptyContainer {
|
|
7
|
+
createScope() {
|
|
10
8
|
throw new MethodNotImplementedError_1.MethodNotImplementedError();
|
|
11
|
-
}
|
|
12
|
-
|
|
9
|
+
}
|
|
10
|
+
dispose() {
|
|
13
11
|
throw new MethodNotImplementedError_1.MethodNotImplementedError();
|
|
14
|
-
}
|
|
15
|
-
|
|
12
|
+
}
|
|
13
|
+
register() {
|
|
16
14
|
throw new MethodNotImplementedError_1.MethodNotImplementedError();
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
throw new DependencyNotFoundError_1.DependencyNotFoundError(
|
|
20
|
-
}
|
|
21
|
-
|
|
15
|
+
}
|
|
16
|
+
resolve(key) {
|
|
17
|
+
throw new DependencyNotFoundError_1.DependencyNotFoundError(`Cannot find ${key.toString()}`);
|
|
18
|
+
}
|
|
19
|
+
getProviders() {
|
|
22
20
|
return new Map();
|
|
23
|
-
}
|
|
24
|
-
|
|
21
|
+
}
|
|
22
|
+
getInstances() {
|
|
25
23
|
return [];
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
}
|
|
25
|
+
removeScope() { }
|
|
26
|
+
add() {
|
|
29
27
|
throw new MethodNotImplementedError_1.MethodNotImplementedError();
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
}());
|
|
28
|
+
}
|
|
29
|
+
}
|
|
33
30
|
exports.EmptyContainer = EmptyContainer;
|
|
34
31
|
//# sourceMappingURL=EmptyContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"EmptyContainer.js","sourceRoot":"","sources":["../../lib/container/EmptyContainer.ts"],"names":[],"mappings":";;;AACA,2EAAwE;AACxE,uEAAoE;AAGpE,MAAa,cAAc;IACvB,WAAW;QACP,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,QAAQ;QACJ,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,CAAI,GAAsB;QAC7B,MAAM,IAAI,iDAAuB,CAAC,eAAe,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,YAAY;QACR,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;IAED,YAAY;QACR,OAAO,EAAE,CAAC;IACd,CAAC;IAED,WAAW,KAAU,CAAC;IAEtB,GAAG;QACC,MAAM,IAAI,qDAAyB,EAAE,CAAC;IAC1C,CAAC;CACJ;AA9BD,wCA8BC"}
|
|
@@ -1,30 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.MethodNotImplementedError = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
Object.setPrototypeOf(_this, MethodNotImplementedError.prototype);
|
|
25
|
-
return _this;
|
|
4
|
+
class MethodNotImplementedError extends Error {
|
|
5
|
+
constructor(message) {
|
|
6
|
+
super(message);
|
|
7
|
+
this.name = 'MethodNotImplementedError';
|
|
8
|
+
Object.setPrototypeOf(this, MethodNotImplementedError.prototype);
|
|
26
9
|
}
|
|
27
|
-
|
|
28
|
-
}(Error));
|
|
10
|
+
}
|
|
29
11
|
exports.MethodNotImplementedError = MethodNotImplementedError;
|
|
30
12
|
//# sourceMappingURL=MethodNotImplementedError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MethodNotImplementedError.js","sourceRoot":"","sources":["../../lib/container/MethodNotImplementedError.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MethodNotImplementedError.js","sourceRoot":"","sources":["../../lib/container/MethodNotImplementedError.ts"],"names":[],"mappings":";;;AAAA,MAAa,yBAA0B,SAAQ,KAAK;IAGhD,YAAY,OAAgB;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHnB,SAAI,GAAG,2BAA2B,CAAC;QAK/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAC;IACrE,CAAC;CACJ;AARD,8DAQC"}
|