@zenofolio/hyper-decor 1.0.74 → 1.0.76

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 CHANGED
@@ -1,4 +1,4 @@
1
- # @zenofolio/hyper-decor (v1.0.73)
1
+ # @zenofolio/hyper-decor
2
2
 
3
3
  Librería de decoradores para [HyperExpress](https://github.com/kartikk221/hyper-express).
4
4
 
@@ -275,6 +275,16 @@ function ensureResolvable(target) {
275
275
  tsyringe_1.container.register(target, target);
276
276
  }
277
277
  }
278
+ function registerRoutes(target, instance, router, namespace, log) {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ const methods = getMethodMetadataMap(target);
281
+ for (const key of Object.keys(methods)) {
282
+ const route = methods[key].route;
283
+ if (route)
284
+ yield prepareRoute(target, router, route, instance, namespace, log);
285
+ }
286
+ });
287
+ }
278
288
  function prepareController(descriptor, context, log) {
279
289
  return __awaiter(this, void 0, void 0, function* () {
280
290
  var _a;
@@ -285,12 +295,7 @@ function prepareController(descriptor, context, log) {
285
295
  yield prepareImportsInternal((_a = metadata.imports) !== null && _a !== void 0 ? _a : [], context, log);
286
296
  yield registerInstanceHandlers(instance, target, context.namespace, log);
287
297
  applyCommonPipeline(target.name, { use: (...args) => router.use(...args) }, data, log);
288
- const methods = getMethodMetadataMap(target);
289
- for (const key of Object.keys(methods)) {
290
- const route = methods[key].route;
291
- if (route)
292
- yield prepareRoute(target, router, route, instance, context.namespace, log);
293
- }
298
+ yield registerRoutes(target, instance, router, context.namespace, log);
294
299
  context.parentRouter.use(context.prefix, router);
295
300
  });
296
301
  }
@@ -319,6 +324,8 @@ function prepareModule(descriptor, context, log) {
319
324
  }, log);
320
325
  }
321
326
  }
327
+ // Direct routes on module
328
+ yield registerRoutes(target, instance, router, context.namespace, log);
322
329
  // Controllers
323
330
  if ((_c = metadata.controllers) === null || _c === void 0 ? void 0 : _c.length) {
324
331
  for (const c of metadata.controllers) {
@@ -364,6 +371,8 @@ function prepareApplication(options, Target, log) {
364
371
  yield prepareImportsInternal((_b = options.imports) !== null && _b !== void 0 ? _b : [], context, log);
365
372
  yield registerInstanceHandlers(appInstance, Target, context.namespace, log);
366
373
  applyCommonPipeline(Target.name, { use: (...args) => appServer.use(...args) }, data, log);
374
+ // Direct routes on app
375
+ yield registerRoutes(Target, appInstance, appServer, context.namespace, log);
367
376
  if ((_c = options.modules) === null || _c === void 0 ? void 0 : _c.length) {
368
377
  for (const m of options.modules) {
369
378
  const mData = getData(m).metadata;
@@ -27,7 +27,12 @@ function createApplication(application) {
27
27
  throw new Error("Application must be decorated with @HyperApp");
28
28
  }
29
29
  const logger = metadata.logger || console.log;
30
- const logWrapper = (space, msg) => logger(`[${space}] ${msg}`);
30
+ const logWrapper = (space, msg) => {
31
+ var _a;
32
+ if ((_a = metadata.logs) === null || _a === void 0 ? void 0 : _a[space]) {
33
+ logger(`[${space.toUpperCase()}] ${msg}`);
34
+ }
35
+ };
31
36
  const appServer = yield (0, prepare_helper_1.prepareApplication)(metadata, application, logWrapper);
32
37
  const appInstance = tsyringe_1.container.resolve(application);
33
38
  const appProxy = new Proxy(appInstance, {
@@ -8,20 +8,8 @@ const metadata_1 = require("./metadata");
8
8
  */
9
9
  function HyperController(options) {
10
10
  return (Target) => {
11
- var _a;
12
11
  const isString = typeof options === "string";
13
- const data = {
14
- type: "controller",
15
- path: isString ? options : (_a = options === null || options === void 0 ? void 0 : options.path) !== null && _a !== void 0 ? _a : "/",
16
- };
17
- if (!isString && options) {
18
- if (options.roles)
19
- data.roles = options.roles;
20
- if (options.scopes)
21
- data.scopes = options.scopes;
22
- if (options.imports)
23
- data.imports = options.imports;
24
- }
25
- metadata_1.HyperMeta.set(Target, undefined, data);
12
+ const data = isString ? { path: options } : (options !== null && options !== void 0 ? options : {});
13
+ metadata_1.HyperMeta.set(Target, undefined, Object.assign({ type: "controller" }, data));
26
14
  };
27
15
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zenofolio/hyper-decor",
3
- "version": "1.0.74",
3
+ "version": "1.0.76",
4
4
  "description": "Project core with utilities and features",
5
5
  "main": "dist/index.js",
6
6
  "author": "zenozaga",
@@ -33,6 +33,7 @@
33
33
  "vitest": "^4.0.18"
34
34
  },
35
35
  "dependencies": {
36
+ "@zenofolio/hyper-decor": "file:",
36
37
  "core-decorators": "^0.20.0",
37
38
  "eventemitter3": "^5.0.4",
38
39
  "file-type": "^19.5.0",
package/scripts/clean.js CHANGED
@@ -1,4 +1,4 @@
1
- #!/usr/bin/env node
1
+ #!/usr/bin/env node
2
2
  const fs = require('fs');
3
3
  const path = require('path');
4
4
 
package/vitest.config.mjs CHANGED
@@ -1,31 +1,30 @@
1
- import { defineConfig } from 'vitest/config';
2
- import swc from 'unplugin-swc';
3
-
4
- export default defineConfig({
5
- test: {
6
- globals: true,
7
- environment: 'node',
8
- include: ['tests/**/*.{test,spec}.ts'],
9
- poolOptions: {
10
- threads: {
11
- singleThread: true,
12
- },
13
- },
14
- }
15
- },
16
- plugins: [
17
- swc.vite({
18
- jsc: {
19
- parser: {
20
- syntax: 'typescript',
21
- decorators: true,
22
- dynamicImport: true,
23
- },
24
- transform: {
25
- legacyDecorator: true,
26
- decoratorMetadata: true,
27
- },
28
- },
29
- }),
30
- ],
31
- });
1
+ import { defineConfig } from 'vitest/config';
2
+ import swc from 'unplugin-swc';
3
+
4
+ export default defineConfig({
5
+ test: {
6
+ globals: true,
7
+ environment: 'node',
8
+ include: ['tests/**/*.{test,spec}.ts'],
9
+ poolOptions: {
10
+ threads: {
11
+ singleThread: true,
12
+ },
13
+ },
14
+ },
15
+ plugins: [
16
+ swc.vite({
17
+ jsc: {
18
+ parser: {
19
+ syntax: 'typescript',
20
+ decorators: true,
21
+ dynamicImport: true,
22
+ },
23
+ transform: {
24
+ legacyDecorator: true,
25
+ decoratorMetadata: true,
26
+ },
27
+ },
28
+ }),
29
+ ],
30
+ });