@navios/core 0.1.3 → 0.1.4
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/dist/index.d.mts +34 -11
- package/dist/index.d.ts +34 -11
- package/dist/index.js +155 -121
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +158 -127
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/config/config.provider.mts +11 -20
- package/src/service-locator/__tests__/injectable.spec.mts +2 -1
- package/src/service-locator/__tests__/injection-token.spec.mts +124 -0
- package/src/service-locator/decorators/get-injectable-token.mts +2 -6
- package/src/service-locator/decorators/injectable.decorator.mts +7 -46
- package/src/service-locator/errors/errors.enum.mts +1 -0
- package/src/service-locator/errors/factory-token-not-resolved.mts +10 -0
- package/src/service-locator/errors/index.mts +1 -0
- package/src/service-locator/index.mts +1 -0
- package/src/service-locator/inject.mts +4 -18
- package/src/service-locator/injection-token.mts +57 -6
- package/src/service-locator/resolve-service.mts +46 -0
- package/src/service-locator/service-locator.mts +87 -35
- package/src/service-locator/sync-injector.mts +0 -8
package/dist/index.mjs
CHANGED
|
@@ -57,7 +57,7 @@ function envString(key, defaultValue) {
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
// packages/core/src/config/config.provider.mts
|
|
60
|
-
import { z as
|
|
60
|
+
import { z as z3 } from "zod";
|
|
61
61
|
|
|
62
62
|
// packages/core/src/logger/utils/cli-colors.util.mts
|
|
63
63
|
var isColorAllowed = () => !process.env.NO_COLOR;
|
|
@@ -157,6 +157,9 @@ var isSymbol = (val) => typeof val === "symbol";
|
|
|
157
157
|
// packages/core/src/logger/console-logger.service.mts
|
|
158
158
|
import { inspect } from "util";
|
|
159
159
|
|
|
160
|
+
// packages/core/src/service-locator/decorators/injectable.decorator.mts
|
|
161
|
+
import { NaviosException as NaviosException2 } from "@navios/common";
|
|
162
|
+
|
|
160
163
|
// packages/core/src/service-locator/enums/injectable-scope.enum.mts
|
|
161
164
|
var InjectableScope = /* @__PURE__ */ ((InjectableScope2) => {
|
|
162
165
|
InjectableScope2["Singleton"] = "Singleton";
|
|
@@ -176,8 +179,38 @@ var InjectionToken = class _InjectionToken {
|
|
|
176
179
|
static create(name2, schema) {
|
|
177
180
|
return new _InjectionToken(name2, schema);
|
|
178
181
|
}
|
|
179
|
-
|
|
180
|
-
return
|
|
182
|
+
static bound(token, value) {
|
|
183
|
+
return new BoundInjectionToken(token, value);
|
|
184
|
+
}
|
|
185
|
+
static factory(token, factory) {
|
|
186
|
+
return new FactoryInjectionToken(token, factory);
|
|
187
|
+
}
|
|
188
|
+
static refineType(token) {
|
|
189
|
+
return token;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
var BoundInjectionToken = class extends InjectionToken {
|
|
193
|
+
constructor(token, value) {
|
|
194
|
+
super(token.name, token.schema);
|
|
195
|
+
this.token = token;
|
|
196
|
+
this.value = value;
|
|
197
|
+
this.id = token.id;
|
|
198
|
+
}
|
|
199
|
+
};
|
|
200
|
+
var FactoryInjectionToken = class extends InjectionToken {
|
|
201
|
+
constructor(token, factory) {
|
|
202
|
+
super(token.name, token.schema);
|
|
203
|
+
this.token = token;
|
|
204
|
+
this.factory = factory;
|
|
205
|
+
}
|
|
206
|
+
value;
|
|
207
|
+
resolved = false;
|
|
208
|
+
async resolve() {
|
|
209
|
+
if (!this.value) {
|
|
210
|
+
this.value = await this.factory();
|
|
211
|
+
this.resolved = true;
|
|
212
|
+
}
|
|
213
|
+
return this.value;
|
|
181
214
|
}
|
|
182
215
|
};
|
|
183
216
|
|
|
@@ -188,6 +221,7 @@ var ErrorsEnum = /* @__PURE__ */ ((ErrorsEnum2) => {
|
|
|
188
221
|
ErrorsEnum2["InstanceDestroying"] = "InstanceDestroying";
|
|
189
222
|
ErrorsEnum2["UnknownError"] = "UnknownError";
|
|
190
223
|
ErrorsEnum2["FactoryNotFound"] = "FactoryNotFound";
|
|
224
|
+
ErrorsEnum2["FactoryTokenNotResolved"] = "FactoryTokenNotResolved";
|
|
191
225
|
return ErrorsEnum2;
|
|
192
226
|
})(ErrorsEnum || {});
|
|
193
227
|
|
|
@@ -200,6 +234,14 @@ var FactoryNotFound = class extends Error {
|
|
|
200
234
|
code = "FactoryNotFound" /* FactoryNotFound */;
|
|
201
235
|
};
|
|
202
236
|
|
|
237
|
+
// packages/core/src/service-locator/errors/factory-token-not-resolved.mts
|
|
238
|
+
var FactoryTokenNotResolved = class extends Error {
|
|
239
|
+
code = "FactoryTokenNotResolved" /* FactoryTokenNotResolved */;
|
|
240
|
+
constructor(name2) {
|
|
241
|
+
super(`Factory token not resolved: ${name2.toString()}`);
|
|
242
|
+
}
|
|
243
|
+
};
|
|
244
|
+
|
|
203
245
|
// packages/core/src/service-locator/errors/instance-destroying.mts
|
|
204
246
|
var InstanceDestroying = class extends Error {
|
|
205
247
|
constructor(name2) {
|
|
@@ -442,29 +484,48 @@ var ServiceLocator = class {
|
|
|
442
484
|
this.instanceFactories.delete(token);
|
|
443
485
|
}
|
|
444
486
|
}
|
|
445
|
-
|
|
446
|
-
var _a;
|
|
447
|
-
|
|
448
|
-
if (
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
487
|
+
resolveTokenArgs(token, args) {
|
|
488
|
+
var _a, _b;
|
|
489
|
+
let realArgs = args;
|
|
490
|
+
if (token instanceof BoundInjectionToken) {
|
|
491
|
+
realArgs = token.value;
|
|
492
|
+
} else if (token instanceof FactoryInjectionToken) {
|
|
493
|
+
if (token.resolved) {
|
|
494
|
+
realArgs = token.value;
|
|
495
|
+
} else {
|
|
496
|
+
return [new FactoryTokenNotResolved(token.name)];
|
|
497
|
+
}
|
|
454
498
|
}
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
const validatedArgs = token.schema ? token.schema.safeParse(args) : void 0;
|
|
499
|
+
if (!token.schema) {
|
|
500
|
+
return [void 0, realArgs];
|
|
501
|
+
}
|
|
502
|
+
const validatedArgs = (_a = token.schema) == null ? void 0 : _a.safeParse(realArgs);
|
|
460
503
|
if (validatedArgs && !validatedArgs.success) {
|
|
461
|
-
(
|
|
504
|
+
(_b = this.logger) == null ? void 0 : _b.error(
|
|
462
505
|
`[ServiceLocator]#getInstance(): Error validating args for ${token.name.toString()}`,
|
|
463
506
|
validatedArgs.error
|
|
464
507
|
);
|
|
465
508
|
return [new UnknownError(validatedArgs.error)];
|
|
466
509
|
}
|
|
467
|
-
|
|
510
|
+
return [void 0, validatedArgs == null ? void 0 : validatedArgs.data];
|
|
511
|
+
}
|
|
512
|
+
getInstanceIdentifier(token, args) {
|
|
513
|
+
const [err, realArgs] = this.resolveTokenArgs(token, args);
|
|
514
|
+
if (err) {
|
|
515
|
+
throw err;
|
|
516
|
+
}
|
|
517
|
+
return this.makeInstanceName(token, realArgs);
|
|
518
|
+
}
|
|
519
|
+
async getInstance(token, args) {
|
|
520
|
+
var _a, _b;
|
|
521
|
+
const [err, realArgs] = this.resolveTokenArgs(token, args);
|
|
522
|
+
if (err instanceof UnknownError) {
|
|
523
|
+
throw err;
|
|
524
|
+
} else if (err instanceof FactoryTokenNotResolved && token instanceof FactoryInjectionToken) {
|
|
525
|
+
await token.resolve();
|
|
526
|
+
return this.getInstance(token, args);
|
|
527
|
+
}
|
|
528
|
+
const instanceName = this.makeInstanceName(token, realArgs);
|
|
468
529
|
const [error, holder] = this.manager.get(instanceName);
|
|
469
530
|
if (!error) {
|
|
470
531
|
if (holder.status === "creating" /* Creating */) {
|
|
@@ -476,13 +537,13 @@ var ServiceLocator = class {
|
|
|
476
537
|
}
|
|
477
538
|
switch (error.code) {
|
|
478
539
|
case "InstanceDestroying" /* InstanceDestroying */:
|
|
479
|
-
(
|
|
540
|
+
(_a = this.logger) == null ? void 0 : _a.log(
|
|
480
541
|
`[ServiceLocator]#getInstance() TTL expired for ${holder == null ? void 0 : holder.name}`
|
|
481
542
|
);
|
|
482
543
|
await (holder == null ? void 0 : holder.destroyPromise);
|
|
483
544
|
return this.getInstance(token, args);
|
|
484
545
|
case "InstanceExpired" /* InstanceExpired */:
|
|
485
|
-
(
|
|
546
|
+
(_b = this.logger) == null ? void 0 : _b.log(
|
|
486
547
|
`[ServiceLocator]#getInstance() TTL expired for ${holder == null ? void 0 : holder.name}`
|
|
487
548
|
);
|
|
488
549
|
await this.invalidate(instanceName);
|
|
@@ -492,7 +553,7 @@ var ServiceLocator = class {
|
|
|
492
553
|
default:
|
|
493
554
|
return [error];
|
|
494
555
|
}
|
|
495
|
-
return this.createInstance(instanceName, token,
|
|
556
|
+
return this.createInstance(instanceName, token, realArgs);
|
|
496
557
|
}
|
|
497
558
|
async getOrThrowInstance(token, args) {
|
|
498
559
|
const [error, instance] = await this.getInstance(token, args);
|
|
@@ -513,10 +574,15 @@ var ServiceLocator = class {
|
|
|
513
574
|
(_a = this.logger) == null ? void 0 : _a.log(
|
|
514
575
|
`[ServiceLocator]#createInstance() Creating instance for ${instanceName}`
|
|
515
576
|
);
|
|
516
|
-
|
|
517
|
-
|
|
577
|
+
let realToken = token instanceof BoundInjectionToken || token instanceof FactoryInjectionToken ? token.token : token;
|
|
578
|
+
if (this.abstractFactories.has(realToken) || this.instanceFactories.has(realToken)) {
|
|
579
|
+
return this.createInstanceFromAbstractFactory(
|
|
580
|
+
instanceName,
|
|
581
|
+
realToken,
|
|
582
|
+
args
|
|
583
|
+
);
|
|
518
584
|
} else {
|
|
519
|
-
return [new FactoryNotFound(
|
|
585
|
+
return [new FactoryNotFound(realToken.name.toString())];
|
|
520
586
|
}
|
|
521
587
|
}
|
|
522
588
|
async createInstanceFromAbstractFactory(instanceName, token, args) {
|
|
@@ -563,7 +629,7 @@ var ServiceLocator = class {
|
|
|
563
629
|
);
|
|
564
630
|
});
|
|
565
631
|
}
|
|
566
|
-
if (holder.ttl === 0) {
|
|
632
|
+
if (holder.ttl === 0 || !shouldStore) {
|
|
567
633
|
await this.invalidate(instanceName);
|
|
568
634
|
}
|
|
569
635
|
await this.notifyListeners(instanceName);
|
|
@@ -635,16 +701,11 @@ var ServiceLocator = class {
|
|
|
635
701
|
};
|
|
636
702
|
}
|
|
637
703
|
getSyncInstance(token, args) {
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
(_a = this.logger) == null ? void 0 : _a.error(
|
|
642
|
-
`[ServiceLocator]#getInstance(): Error validating args for ${token.name.toString()}`,
|
|
643
|
-
validatedArgs.error
|
|
644
|
-
);
|
|
645
|
-
throw new UnknownError(validatedArgs.error);
|
|
704
|
+
const [err, realArgs] = this.resolveTokenArgs(token, args);
|
|
705
|
+
if (err) {
|
|
706
|
+
return null;
|
|
646
707
|
}
|
|
647
|
-
const instanceName = this.makeInstanceName(token,
|
|
708
|
+
const instanceName = this.makeInstanceName(token, realArgs);
|
|
648
709
|
const [error, holder] = this.manager.get(instanceName);
|
|
649
710
|
if (error) {
|
|
650
711
|
return null;
|
|
@@ -752,6 +813,9 @@ function getServiceLocator() {
|
|
|
752
813
|
return serviceLocator;
|
|
753
814
|
}
|
|
754
815
|
|
|
816
|
+
// packages/core/src/service-locator/resolve-service.mts
|
|
817
|
+
import { NaviosException } from "@navios/common";
|
|
818
|
+
|
|
755
819
|
// packages/core/src/service-locator/proxy-service-locator.mts
|
|
756
820
|
var ProxyServiceLocator = class {
|
|
757
821
|
constructor(serviceLocator2, ctx) {
|
|
@@ -800,14 +864,6 @@ function makeProxyServiceLocator(serviceLocator2, ctx) {
|
|
|
800
864
|
// packages/core/src/service-locator/sync-injector.mts
|
|
801
865
|
var promiseCollector = null;
|
|
802
866
|
function syncInject(token, args) {
|
|
803
|
-
if (token.schema) {
|
|
804
|
-
const parsed = token.schema.safeParse(args);
|
|
805
|
-
if (!parsed.success) {
|
|
806
|
-
throw new Error(
|
|
807
|
-
`[ServiceLocator] Invalid arguments for ${token.name.toString()}: ${parsed.error}`
|
|
808
|
-
);
|
|
809
|
-
}
|
|
810
|
-
}
|
|
811
867
|
let realToken = token;
|
|
812
868
|
if (!(token instanceof InjectionToken)) {
|
|
813
869
|
realToken = getInjectableToken(token);
|
|
@@ -831,6 +887,40 @@ function setPromiseCollector(collector) {
|
|
|
831
887
|
return original;
|
|
832
888
|
}
|
|
833
889
|
|
|
890
|
+
// packages/core/src/service-locator/resolve-service.mts
|
|
891
|
+
async function resolveService(ctx, target, args = []) {
|
|
892
|
+
const proxyServiceLocator = makeProxyServiceLocator(getServiceLocator(), ctx);
|
|
893
|
+
let promises = [];
|
|
894
|
+
const promiseCollector2 = (promise) => {
|
|
895
|
+
promises.push(promise);
|
|
896
|
+
};
|
|
897
|
+
const originalPromiseCollector = setPromiseCollector(promiseCollector2);
|
|
898
|
+
const tryLoad = () => {
|
|
899
|
+
const original = provideServiceLocator(proxyServiceLocator);
|
|
900
|
+
let result = new target(...args);
|
|
901
|
+
provideServiceLocator(original);
|
|
902
|
+
return result;
|
|
903
|
+
};
|
|
904
|
+
let instance = tryLoad();
|
|
905
|
+
setPromiseCollector(originalPromiseCollector);
|
|
906
|
+
if (promises.length > 0) {
|
|
907
|
+
await Promise.all(promises);
|
|
908
|
+
promises = [];
|
|
909
|
+
instance = tryLoad();
|
|
910
|
+
}
|
|
911
|
+
if (promises.length > 0) {
|
|
912
|
+
console.error(`[ServiceLocator] ${target.name} has problem with it's definition.
|
|
913
|
+
|
|
914
|
+
One or more of the dependencies are registered as a InjectableScope.Instance and are used with syncInject.
|
|
915
|
+
|
|
916
|
+
Please use inject instead of syncInject to load those dependencies.`);
|
|
917
|
+
throw new NaviosException(
|
|
918
|
+
`[ServiceLocator] Service ${target.name} cannot be instantiated.`
|
|
919
|
+
);
|
|
920
|
+
}
|
|
921
|
+
return instance;
|
|
922
|
+
}
|
|
923
|
+
|
|
834
924
|
// packages/core/src/service-locator/decorators/injectable.decorator.mts
|
|
835
925
|
var InjectableType = /* @__PURE__ */ ((InjectableType2) => {
|
|
836
926
|
InjectableType2["Class"] = "Class";
|
|
@@ -851,62 +941,22 @@ function Injectable({
|
|
|
851
941
|
}
|
|
852
942
|
let injectableToken = token ?? InjectionToken.create(target);
|
|
853
943
|
const locator = getServiceLocator();
|
|
854
|
-
if (!locator) {
|
|
855
|
-
throw new Error(
|
|
856
|
-
"[ServiceLocator] Service locator is not initialized. Please provide the service locator before using the @Injectable decorator."
|
|
857
|
-
);
|
|
858
|
-
}
|
|
859
944
|
if (type === "Class" /* Class */) {
|
|
860
945
|
locator.registerAbstractFactory(
|
|
861
946
|
injectableToken,
|
|
862
|
-
async (ctx) =>
|
|
863
|
-
if (scope === "Instance" /* Instance */) {
|
|
864
|
-
ctx.setTtl(0);
|
|
865
|
-
}
|
|
866
|
-
const proxyServiceLocator = makeProxyServiceLocator(
|
|
867
|
-
getServiceLocator(),
|
|
868
|
-
ctx
|
|
869
|
-
);
|
|
870
|
-
const promises = [];
|
|
871
|
-
const promiseCollector2 = (promise) => {
|
|
872
|
-
promises.push(promise);
|
|
873
|
-
};
|
|
874
|
-
const originalPromiseCollector = setPromiseCollector(promiseCollector2);
|
|
875
|
-
const tryInit = () => {
|
|
876
|
-
const original = provideServiceLocator(proxyServiceLocator);
|
|
877
|
-
let result2 = new target();
|
|
878
|
-
provideServiceLocator(original);
|
|
879
|
-
return result2;
|
|
880
|
-
};
|
|
881
|
-
const result = tryInit();
|
|
882
|
-
setPromiseCollector(originalPromiseCollector);
|
|
883
|
-
if (promises.length > 0) {
|
|
884
|
-
await Promise.all(promises);
|
|
885
|
-
return tryInit();
|
|
886
|
-
}
|
|
887
|
-
return result;
|
|
888
|
-
},
|
|
947
|
+
async (ctx) => resolveService(ctx, target),
|
|
889
948
|
scope
|
|
890
949
|
);
|
|
891
950
|
} else if (type === "Factory" /* Factory */) {
|
|
892
951
|
locator.registerAbstractFactory(
|
|
893
952
|
injectableToken,
|
|
894
953
|
async (ctx, args) => {
|
|
895
|
-
|
|
896
|
-
ctx.setTtl(0);
|
|
897
|
-
}
|
|
898
|
-
const proxyServiceLocator = makeProxyServiceLocator(
|
|
899
|
-
getServiceLocator(),
|
|
900
|
-
ctx
|
|
901
|
-
);
|
|
902
|
-
const original = provideServiceLocator(proxyServiceLocator);
|
|
903
|
-
const builder = new target();
|
|
954
|
+
const builder = await resolveService(ctx, target);
|
|
904
955
|
if (typeof builder.create !== "function") {
|
|
905
|
-
throw new
|
|
956
|
+
throw new NaviosException2(
|
|
906
957
|
`[ServiceLocator] Factory ${target.name} does not implement the create method.`
|
|
907
958
|
);
|
|
908
959
|
}
|
|
909
|
-
provideServiceLocator(original);
|
|
910
960
|
return builder.create(ctx, args);
|
|
911
961
|
},
|
|
912
962
|
scope
|
|
@@ -969,14 +1019,6 @@ var EventEmitter = class {
|
|
|
969
1019
|
|
|
970
1020
|
// packages/core/src/service-locator/inject.mts
|
|
971
1021
|
function inject(token, args) {
|
|
972
|
-
if (token.schema) {
|
|
973
|
-
const parsed = token.schema.safeParse(args);
|
|
974
|
-
if (!parsed.success) {
|
|
975
|
-
throw new Error(
|
|
976
|
-
`[ServiceLocator] Invalid arguments for ${token.name.toString()}: ${parsed.error}`
|
|
977
|
-
);
|
|
978
|
-
}
|
|
979
|
-
}
|
|
980
1022
|
let realToken = token;
|
|
981
1023
|
if (!(token instanceof InjectionToken)) {
|
|
982
1024
|
realToken = getInjectableToken(token);
|
|
@@ -1350,7 +1392,7 @@ __runInitializers(_init, 1, _ConsoleLogger);
|
|
|
1350
1392
|
var ConsoleLogger = _ConsoleLogger;
|
|
1351
1393
|
|
|
1352
1394
|
// packages/core/src/logger/logger.factory.mts
|
|
1353
|
-
import { z } from "zod";
|
|
1395
|
+
import { z as z2 } from "zod";
|
|
1354
1396
|
|
|
1355
1397
|
// packages/core/src/logger/logger.service.mts
|
|
1356
1398
|
var DEFAULT_LOGGER = new ConsoleLogger();
|
|
@@ -1477,10 +1519,10 @@ var LoggerInstance = _LoggerInstance;
|
|
|
1477
1519
|
|
|
1478
1520
|
// packages/core/src/logger/logger.factory.mts
|
|
1479
1521
|
var LoggerInjectionToken = "LoggerInjectionToken";
|
|
1480
|
-
var LoggerOptions =
|
|
1481
|
-
context:
|
|
1482
|
-
options:
|
|
1483
|
-
timestamp:
|
|
1522
|
+
var LoggerOptions = z2.object({
|
|
1523
|
+
context: z2.string().optional(),
|
|
1524
|
+
options: z2.object({
|
|
1525
|
+
timestamp: z2.boolean().optional()
|
|
1484
1526
|
}).optional()
|
|
1485
1527
|
}).optional();
|
|
1486
1528
|
var Logger = InjectionToken.create(LoggerInjectionToken, LoggerOptions);
|
|
@@ -1551,7 +1593,7 @@ var PinoWrapper = class _PinoWrapper {
|
|
|
1551
1593
|
};
|
|
1552
1594
|
|
|
1553
1595
|
// packages/core/src/config/config.service.mts
|
|
1554
|
-
import { NaviosException } from "@navios/common";
|
|
1596
|
+
import { NaviosException as NaviosException3 } from "@navios/common";
|
|
1555
1597
|
var ConfigServiceInstance = class {
|
|
1556
1598
|
constructor(config = {}, logger) {
|
|
1557
1599
|
this.config = config;
|
|
@@ -1590,30 +1632,29 @@ var ConfigServiceInstance = class {
|
|
|
1590
1632
|
if (value === null) {
|
|
1591
1633
|
const message = errorMessage || `Configuration value for key "${String(key)}" is not defined`;
|
|
1592
1634
|
this.logger.error(message);
|
|
1593
|
-
throw new
|
|
1635
|
+
throw new NaviosException3(message);
|
|
1594
1636
|
}
|
|
1595
1637
|
return value;
|
|
1596
1638
|
}
|
|
1597
1639
|
};
|
|
1598
1640
|
|
|
1599
1641
|
// packages/core/src/config/config.provider.mts
|
|
1600
|
-
var
|
|
1601
|
-
|
|
1602
|
-
load: z2.function()
|
|
1642
|
+
var ConfigProviderOptions = z3.object({
|
|
1643
|
+
load: z3.function()
|
|
1603
1644
|
});
|
|
1604
|
-
var ConfigProvider = InjectionToken.create(
|
|
1645
|
+
var ConfigProvider = InjectionToken.create(ConfigServiceInstance, ConfigProviderOptions);
|
|
1605
1646
|
var _ConfigProviderFactory_decorators, _init4;
|
|
1606
1647
|
_ConfigProviderFactory_decorators = [Injectable({
|
|
1607
1648
|
token: ConfigProvider,
|
|
1608
1649
|
type: "Factory" /* Factory */
|
|
1609
1650
|
})];
|
|
1610
1651
|
var ConfigProviderFactory = class {
|
|
1611
|
-
logger =
|
|
1652
|
+
logger = syncInject(Logger, {
|
|
1612
1653
|
context: "ConfigService"
|
|
1613
1654
|
});
|
|
1614
1655
|
async create(ctx, args) {
|
|
1615
1656
|
const { load } = args;
|
|
1616
|
-
const logger =
|
|
1657
|
+
const logger = this.logger;
|
|
1617
1658
|
try {
|
|
1618
1659
|
const config = await load();
|
|
1619
1660
|
return new ConfigServiceInstance(config, logger);
|
|
@@ -1626,21 +1667,8 @@ var ConfigProviderFactory = class {
|
|
|
1626
1667
|
_init4 = __decoratorStart(null);
|
|
1627
1668
|
ConfigProviderFactory = __decorateElement(_init4, 0, "ConfigProviderFactory", _ConfigProviderFactory_decorators, ConfigProviderFactory);
|
|
1628
1669
|
__runInitializers(_init4, 1, ConfigProviderFactory);
|
|
1629
|
-
function
|
|
1630
|
-
|
|
1631
|
-
_ConfigServiceImpl_decorators = [Injectable({
|
|
1632
|
-
type: "Factory" /* Factory */
|
|
1633
|
-
})];
|
|
1634
|
-
class ConfigServiceImpl {
|
|
1635
|
-
configService = inject(ConfigProvider, options);
|
|
1636
|
-
create() {
|
|
1637
|
-
return this.configService;
|
|
1638
|
-
}
|
|
1639
|
-
}
|
|
1640
|
-
_init9 = __decoratorStart(null);
|
|
1641
|
-
ConfigServiceImpl = __decorateElement(_init9, 0, "ConfigServiceImpl", _ConfigServiceImpl_decorators, ConfigServiceImpl);
|
|
1642
|
-
__runInitializers(_init9, 1, ConfigServiceImpl);
|
|
1643
|
-
return getInjectableToken(ConfigServiceImpl);
|
|
1670
|
+
function provideConfig(options) {
|
|
1671
|
+
return InjectionToken.bound(ConfigProvider, options);
|
|
1644
1672
|
}
|
|
1645
1673
|
|
|
1646
1674
|
// packages/core/src/metadata/endpoint.metadata.mts
|
|
@@ -1953,7 +1981,7 @@ var ConflictException = class extends HttpException {
|
|
|
1953
1981
|
};
|
|
1954
1982
|
|
|
1955
1983
|
// packages/core/src/services/controller-adapter.service.mts
|
|
1956
|
-
import { NaviosException as
|
|
1984
|
+
import { NaviosException as NaviosException4 } from "@navios/common";
|
|
1957
1985
|
|
|
1958
1986
|
// packages/core/src/tokens/application.token.mts
|
|
1959
1987
|
var ApplicationInjectionToken = "ApplicationInjectionToken";
|
|
@@ -2174,7 +2202,7 @@ var _ControllerAdapterService = class _ControllerAdapterService {
|
|
|
2174
2202
|
this.logger.error(
|
|
2175
2203
|
`Unknown endpoint type ${endpointMetadata.type} for ${controller.name}:${endpointMetadata.classMethod}`
|
|
2176
2204
|
);
|
|
2177
|
-
throw new
|
|
2205
|
+
throw new NaviosException4("Unknown endpoint type");
|
|
2178
2206
|
case "config" /* Config */:
|
|
2179
2207
|
return this.provideHandlerForConfig(
|
|
2180
2208
|
controller,
|
|
@@ -2183,7 +2211,7 @@ var _ControllerAdapterService = class _ControllerAdapterService {
|
|
|
2183
2211
|
);
|
|
2184
2212
|
case "handler" /* Handler */:
|
|
2185
2213
|
this.logger.error("Not implemented yet");
|
|
2186
|
-
throw new
|
|
2214
|
+
throw new NaviosException4("Not implemented yet");
|
|
2187
2215
|
}
|
|
2188
2216
|
}
|
|
2189
2217
|
provideHandlerForConfig(controller, executionContext, endpointMetadata) {
|
|
@@ -2515,9 +2543,9 @@ export {
|
|
|
2515
2543
|
Application,
|
|
2516
2544
|
AttributeFactory,
|
|
2517
2545
|
BadRequestException,
|
|
2546
|
+
BoundInjectionToken,
|
|
2518
2547
|
ConfigProvider,
|
|
2519
2548
|
ConfigProviderFactory,
|
|
2520
|
-
ConfigProviderInjectionToken,
|
|
2521
2549
|
ConfigProviderOptions,
|
|
2522
2550
|
ConfigServiceInstance,
|
|
2523
2551
|
ConflictException,
|
|
@@ -2533,7 +2561,9 @@ export {
|
|
|
2533
2561
|
ExecutionContext2 as ExecutionContext,
|
|
2534
2562
|
ExecutionContextInjectionToken,
|
|
2535
2563
|
ExecutionContextToken,
|
|
2564
|
+
FactoryInjectionToken,
|
|
2536
2565
|
FactoryNotFound,
|
|
2566
|
+
FactoryTokenNotResolved,
|
|
2537
2567
|
ForbiddenException,
|
|
2538
2568
|
GuardRunnerService,
|
|
2539
2569
|
Header,
|
|
@@ -2599,10 +2629,11 @@ export {
|
|
|
2599
2629
|
isString,
|
|
2600
2630
|
isSymbol,
|
|
2601
2631
|
isUndefined,
|
|
2602
|
-
makeConfigToken,
|
|
2603
2632
|
normalizePath,
|
|
2604
2633
|
override,
|
|
2634
|
+
provideConfig,
|
|
2605
2635
|
provideServiceLocator,
|
|
2636
|
+
resolveService,
|
|
2606
2637
|
setPromiseCollector,
|
|
2607
2638
|
stripEndSlash,
|
|
2608
2639
|
syncInject,
|