@tstdl/base 0.89.3 → 0.89.5
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/injector/injector.js
CHANGED
|
@@ -288,7 +288,15 @@ export class Injector {
|
|
|
288
288
|
throw new ResolveError(`${provider.useClass.name} has constructor parameters but is not injectable.`, chain);
|
|
289
289
|
}
|
|
290
290
|
const parameters = (typeMetadata?.parameters ?? []).map((metadata) => this.resolveClassInjection(resolutionTag, context, provider.useClass, metadata, arg, chain));
|
|
291
|
-
|
|
291
|
+
try {
|
|
292
|
+
result = { value: new provider.useClass(...parameters) };
|
|
293
|
+
}
|
|
294
|
+
catch (error) {
|
|
295
|
+
if (error instanceof ResolveError) {
|
|
296
|
+
throw error;
|
|
297
|
+
}
|
|
298
|
+
throw new ResolveError('Error in class constructor.', chain, error);
|
|
299
|
+
}
|
|
292
300
|
}
|
|
293
301
|
if (isValueProvider(provider)) {
|
|
294
302
|
result = { value: provider.useValue };
|
|
@@ -13,6 +13,6 @@ export function configureMongoKeyValueStore(keyValueRepositoryConfig, register =
|
|
|
13
13
|
Injector.register(DEFAULT_KEY_VALUE_REPOSITORY_CONFIG, { useValue: keyValueRepositoryConfig });
|
|
14
14
|
if (register) {
|
|
15
15
|
Injector.registerSingleton(KeyValueStoreProvider, { useToken: MongoKeyValueStoreProvider });
|
|
16
|
-
Injector.registerSingleton(KeyValueStore, { useToken: MongoKeyValueStore
|
|
16
|
+
Injector.registerSingleton(KeyValueStore, { useToken: MongoKeyValueStore });
|
|
17
17
|
}
|
|
18
18
|
}
|
|
@@ -7,15 +7,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
9
|
};
|
|
10
|
-
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
-
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
-
};
|
|
13
10
|
import { getNewId } from '../../database/index.js';
|
|
14
|
-
import {
|
|
15
|
-
import { KeyValueStore } from '../../key-value-store/index.js';
|
|
11
|
+
import { Singleton } from '../../injector/index.js';
|
|
12
|
+
import { KeyValueStore, MongoKeyValueStoreProvider } from '../../key-value-store/index.js';
|
|
16
13
|
import { currentTimestamp } from '../../utils/date-time.js';
|
|
17
14
|
import { objectEntries } from '../../utils/object/object.js';
|
|
18
|
-
import {
|
|
15
|
+
import { assertString, isUndefined } from '../../utils/type-guards.js';
|
|
19
16
|
import { MongoKeyValueRepository } from './mongo-key-value.repository.js';
|
|
20
17
|
let MongoKeyValueStore = class MongoKeyValueStore extends KeyValueStore {
|
|
21
18
|
keyValueRepository;
|
|
@@ -61,8 +58,15 @@ let MongoKeyValueStore = class MongoKeyValueStore extends KeyValueStore {
|
|
|
61
58
|
}
|
|
62
59
|
};
|
|
63
60
|
MongoKeyValueStore = __decorate([
|
|
64
|
-
Singleton(
|
|
65
|
-
|
|
61
|
+
Singleton({
|
|
62
|
+
provider: {
|
|
63
|
+
useFactory: (argument, context) => {
|
|
64
|
+
const provider = context.resolve(MongoKeyValueStoreProvider);
|
|
65
|
+
assertString(argument, 'Missing or invalid argument (KV-Store module)');
|
|
66
|
+
return provider.get(argument);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}),
|
|
66
70
|
__metadata("design:paramtypes", [MongoKeyValueRepository, String])
|
|
67
71
|
], MongoKeyValueStore);
|
|
68
72
|
export { MongoKeyValueStore };
|
package/lock/mongo/provider.js
CHANGED
|
@@ -10,7 +10,7 @@ import { inject, injectArgument } from '../../injector/inject.js';
|
|
|
10
10
|
import { Injector } from '../../injector/injector.js';
|
|
11
11
|
import { LockProvider } from '../../lock/index.js';
|
|
12
12
|
import { Logger } from '../../logger/index.js';
|
|
13
|
-
import { assertDefinedPass } from '../../utils/type-guards.js';
|
|
13
|
+
import { assertDefinedPass, isDefined } from '../../utils/type-guards.js';
|
|
14
14
|
import { MongoLock } from './lock.js';
|
|
15
15
|
import { mongoLockModuleConfig } from './module.js';
|
|
16
16
|
import { MongoLockRepository } from './mongo-lock-repository.js';
|
|
@@ -18,7 +18,7 @@ let MongoLockProvider = MongoLockProvider_1 = class MongoLockProvider extends Lo
|
|
|
18
18
|
#injector = inject(Injector);
|
|
19
19
|
#lockRepository = inject(MongoLockRepository, assertDefinedPass(mongoLockModuleConfig.lockEntityRepositoryConfig, 'mongo lock module not configured'));
|
|
20
20
|
#logger = inject(Logger, 'MongoLock');
|
|
21
|
-
#prefix = injectArgument(this);
|
|
21
|
+
#prefix = injectArgument(this, { optional: true });
|
|
22
22
|
prefix(prefix) {
|
|
23
23
|
return this.#injector.resolve(MongoLockProvider_1, this.getResourceString(prefix));
|
|
24
24
|
}
|
|
@@ -26,7 +26,7 @@ let MongoLockProvider = MongoLockProvider_1 = class MongoLockProvider extends Lo
|
|
|
26
26
|
return new MongoLock(this.#lockRepository, this.getResourceString(resource), this.#logger);
|
|
27
27
|
}
|
|
28
28
|
getResourceString(resource) {
|
|
29
|
-
const prefixDivider = (this.#prefix.length > 0) ? ':' : '';
|
|
29
|
+
const prefixDivider = (isDefined(this.#prefix) && (this.#prefix.length > 0)) ? ':' : '';
|
|
30
30
|
return `${this.#prefix}${prefixDivider}${resource}`;
|
|
31
31
|
}
|
|
32
32
|
};
|
|
@@ -55,7 +55,9 @@ let WebServerModule = class WebServerModule extends ModuleBase {
|
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
57
|
WebServerModule = __decorate([
|
|
58
|
-
Singleton({
|
|
58
|
+
Singleton({
|
|
59
|
+
defaultArgumentProvider: () => webServerModuleConfiguration
|
|
60
|
+
}),
|
|
59
61
|
__metadata("design:paramtypes", [])
|
|
60
62
|
], WebServerModule);
|
|
61
63
|
export { WebServerModule };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tstdl/base",
|
|
3
|
-
"version": "0.89.
|
|
3
|
+
"version": "0.89.5",
|
|
4
4
|
"author": "Patrick Hein",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
"@typescript-eslint/parser": "6.7",
|
|
122
122
|
"concurrently": "8.2",
|
|
123
123
|
"esbuild": "0.19",
|
|
124
|
-
"eslint": "8.
|
|
124
|
+
"eslint": "8.50",
|
|
125
125
|
"eslint-import-resolver-typescript": "3.6",
|
|
126
126
|
"eslint-plugin-import": "2.28",
|
|
127
127
|
"tsc-alias": "1.8",
|