@kithinji/orca 1.0.32 → 1.0.34
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/node/index.cjs +32 -10
- package/dist/node/index.cjs.map +3 -3
- package/dist/node/index.mjs +32 -10
- package/dist/node/index.mjs.map +2 -2
- package/dist/types/node/factory.d.ts.map +1 -1
- package/package.json +8 -6
package/dist/node/index.cjs
CHANGED
|
@@ -2188,6 +2188,7 @@ __export(node_exports, {
|
|
|
2188
2188
|
|
|
2189
2189
|
// src/node/factory.ts
|
|
2190
2190
|
var import_express2 = __toESM(require("express"));
|
|
2191
|
+
var import_cookie_parser = __toESM(require("cookie-parser"));
|
|
2191
2192
|
var import_http = __toESM(require("http"));
|
|
2192
2193
|
var import_uuid2 = require("uuid");
|
|
2193
2194
|
var import_socket = require("socket.io");
|
|
@@ -2578,7 +2579,7 @@ var ControllerRegistrationService = class {
|
|
|
2578
2579
|
this.injector = injector;
|
|
2579
2580
|
this.app = app;
|
|
2580
2581
|
}
|
|
2581
|
-
registerEventHandlers(CtrlCls, instance, actor) {
|
|
2582
|
+
async registerEventHandlers(CtrlCls, instance, actor) {
|
|
2582
2583
|
const eventHandlers = Reflect.ownKeys(CtrlCls.prototype).filter(
|
|
2583
2584
|
(key) => Reflect.hasOwnMetadata(EVENT_HANDLER, CtrlCls.prototype, key)
|
|
2584
2585
|
);
|
|
@@ -2589,7 +2590,16 @@ var ControllerRegistrationService = class {
|
|
|
2589
2590
|
methodKey
|
|
2590
2591
|
);
|
|
2591
2592
|
const handler = instance[methodKey];
|
|
2592
|
-
actor.subscribe(eventName, (data) =>
|
|
2593
|
+
actor.subscribe(eventName, async (data) => {
|
|
2594
|
+
try {
|
|
2595
|
+
await handler.call(instance, data);
|
|
2596
|
+
} catch (err) {
|
|
2597
|
+
console.error(
|
|
2598
|
+
`Unhandled error in event handler "${eventName}":`,
|
|
2599
|
+
err
|
|
2600
|
+
);
|
|
2601
|
+
}
|
|
2602
|
+
});
|
|
2593
2603
|
}
|
|
2594
2604
|
}
|
|
2595
2605
|
buildMethodArgs(req, res, paramsMeta, designParams) {
|
|
@@ -2733,7 +2743,7 @@ var ControllerRegistrationService = class {
|
|
|
2733
2743
|
const instance = await this.injector.resolve(CtrlCls);
|
|
2734
2744
|
const prefix = Reflect.getMetadata(CONTROLLER_PREFIX_KEY, CtrlCls) ?? "/";
|
|
2735
2745
|
const actor = await this.injector.resolve(Actor);
|
|
2736
|
-
this.registerEventHandlers(CtrlCls, instance, actor);
|
|
2746
|
+
await this.registerEventHandlers(CtrlCls, instance, actor);
|
|
2737
2747
|
this.registerHttpMethods(CtrlCls, instance, prefix);
|
|
2738
2748
|
}
|
|
2739
2749
|
};
|
|
@@ -2925,7 +2935,7 @@ var NodeFactory = class {
|
|
|
2925
2935
|
{ provide: Actor, useClass: Actor, eager: true }
|
|
2926
2936
|
]);
|
|
2927
2937
|
}
|
|
2928
|
-
static registerControllers(appNode, injector, app) {
|
|
2938
|
+
static async registerControllers(appNode, injector, app) {
|
|
2929
2939
|
const registrationService = new ControllerRegistrationService(
|
|
2930
2940
|
injector,
|
|
2931
2941
|
app
|
|
@@ -2933,18 +2943,29 @@ var NodeFactory = class {
|
|
|
2933
2943
|
const rootControllers = [
|
|
2934
2944
|
...store.get("root_controllers")
|
|
2935
2945
|
];
|
|
2936
|
-
|
|
2946
|
+
await Promise.all(
|
|
2947
|
+
rootControllers.map((ctrl) => registrationService.register(ctrl))
|
|
2948
|
+
);
|
|
2949
|
+
const nodeRegistrationPromises = [];
|
|
2937
2950
|
appNode.traverse((node) => {
|
|
2938
2951
|
const providers = [...node.getProviders().values()];
|
|
2939
2952
|
const controllers = providers.filter((provider) => {
|
|
2940
2953
|
const token = provider.provide;
|
|
2941
2954
|
return typeof token === "function" && Reflect.getMetadata(CONTROLLER, token);
|
|
2942
2955
|
});
|
|
2943
|
-
controllers.forEach(
|
|
2944
|
-
|
|
2945
|
-
|
|
2946
|
-
|
|
2956
|
+
controllers.forEach(
|
|
2957
|
+
(c) => nodeRegistrationPromises.push(
|
|
2958
|
+
registrationService.register(c.useClass)
|
|
2959
|
+
)
|
|
2960
|
+
);
|
|
2961
|
+
providers.filter((provider) => provider.eager).forEach(
|
|
2962
|
+
(p) => nodeRegistrationPromises.push(
|
|
2963
|
+
injector.resolve(p.provide).then(() => {
|
|
2964
|
+
})
|
|
2965
|
+
)
|
|
2966
|
+
);
|
|
2947
2967
|
});
|
|
2968
|
+
await Promise.all(nodeRegistrationPromises);
|
|
2948
2969
|
}
|
|
2949
2970
|
static setupOscRoute(app, injector, rootModule) {
|
|
2950
2971
|
const componentResolver = new ComponentResolver(rootModule);
|
|
@@ -2954,6 +2975,7 @@ var NodeFactory = class {
|
|
|
2954
2975
|
static async create(rootModule) {
|
|
2955
2976
|
const app = (0, import_express2.default)();
|
|
2956
2977
|
app.use(import_express2.default.json());
|
|
2978
|
+
app.use((0, import_cookie_parser.default)());
|
|
2957
2979
|
const server = import_http.default.createServer(app);
|
|
2958
2980
|
const appNode = this.compileAndValidate(rootModule);
|
|
2959
2981
|
const scanner = this.scanDependencies(appNode);
|
|
@@ -2964,7 +2986,7 @@ var NodeFactory = class {
|
|
|
2964
2986
|
scanner
|
|
2965
2987
|
);
|
|
2966
2988
|
setCurrentInjector(rootInjector);
|
|
2967
|
-
this.registerControllers(appNode, rootInjector, app);
|
|
2989
|
+
await this.registerControllers(appNode, rootInjector, app);
|
|
2968
2990
|
this.setupOscRoute(app, rootInjector, rootModule);
|
|
2969
2991
|
SocketService.setup(server, rootInjector);
|
|
2970
2992
|
return server;
|