pwi-plata-type 0.4.154 → 0.4.155

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.
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.buildExpressRouter = exports.loadRoutesFromProject = exports.Internals = void 0;
6
+ exports.buildExpressRouter = exports.loadRoutesFromProject = exports.processRoutes = exports.Internals = void 0;
7
7
  const node_path_1 = __importDefault(require("node:path"));
8
8
  const custom_1 = require("./custom");
9
9
  var Internals;
@@ -92,12 +92,11 @@ var Internals;
92
92
  }
93
93
  Internals.buildRequestHandler = buildRequestHandler;
94
94
  })(Internals || (exports.Internals = Internals = {}));
95
- async function loadRoutesFromProject() {
96
- const routes = await require('@@/routes/*.*');
97
- if (routes.errorID !== undefined) {
98
- return routes;
99
- }
100
- let rs = routes.map(route => {
95
+ function processRoutes(routes) {
96
+ const indexRoutes = [];
97
+ const normalRoutes = [];
98
+ for (let i = routes.length - 1; i >= 0; i--) {
99
+ const route = routes[i];
101
100
  const r = {
102
101
  ...route,
103
102
  exports: route.exports.default,
@@ -110,18 +109,22 @@ async function loadRoutesFromProject() {
110
109
  .replace(/\{(.*?)\}/g, ':$1')
111
110
  .replace(/\[(.*?)\]/g, ':$1?')).replace(/\\/g, '/'),
112
111
  };
113
- return r;
114
- });
115
- rs = rs.sort((x, y) => {
116
- if (x.name === 'index') {
117
- if (y.name === 'index') {
118
- return +(x.httpRoute.length > y.httpRoute.length);
119
- }
120
- return -1;
112
+ if (r.name === 'index') {
113
+ indexRoutes.push(r);
114
+ continue;
121
115
  }
122
- return +(x.name > y.name);
123
- });
124
- return rs;
116
+ normalRoutes.push(r);
117
+ }
118
+ normalRoutes.unshift(...indexRoutes.sort((x, y) => x.httpRoute.length - y.httpRoute.length));
119
+ return normalRoutes;
120
+ }
121
+ exports.processRoutes = processRoutes;
122
+ async function loadRoutesFromProject() {
123
+ const routes = await require('@@/routes/*.*');
124
+ if (routes.errorID !== undefined) {
125
+ return routes;
126
+ }
127
+ return processRoutes(routes);
125
128
  }
126
129
  exports.loadRoutesFromProject = loadRoutesFromProject;
127
130
  async function buildExpressRouter(requiredRoutes) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/libs/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/libs/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pwi-plata-type",
3
- "version": "0.4.154",
3
+ "version": "0.4.155",
4
4
  "main": "__BUILD__/index",
5
5
  "types": "src/@types/exported.d.ts",
6
6
  "bin": {
@@ -106,14 +106,13 @@ export namespace Internals {
106
106
  }
107
107
  }
108
108
 
109
- export async function loadRoutesFromProject(): PlataPromise<Router.RequiredRoute[]> {
110
- const routes: RequiredFolder<{default: Router.RouterBuilder}> = await require('@@/routes/*.*')
109
+ export function processRoutes(routes: RequiredInterface<{default: Router.RouterBuilder}>[]): Router.RequiredRoute[] {
110
+ const indexRoutes: Router.RequiredRoute[] = []
111
+ const normalRoutes: Router.RequiredRoute[] = []
111
112
 
112
- if (routes.errorID !== undefined) {
113
- return routes
114
- }
113
+ for (let i = routes.length - 1; i >= 0; i--) {
114
+ const route = routes[i]
115
115
 
116
- let rs = routes.map(route => {
117
116
  const r: Router.RequiredRoute = {
118
117
  ...route,
119
118
  exports: route.exports.default,
@@ -126,24 +125,29 @@ export async function loadRoutesFromProject(): PlataPromise<Router.RequiredRoute
126
125
  .replace(/\{(.*?)\}/g, ':$1')
127
126
  .replace(/\[(.*?)\]/g, ':$1?')
128
127
  ).replace(/\\/g, '/'),
128
+ }
129
+
130
+ if (r.name === 'index') {
131
+ indexRoutes.push(r)
132
+ continue
129
133
  }
130
134
 
131
- return r
132
- })
135
+ normalRoutes.push(r)
136
+ }
137
+
138
+ normalRoutes.unshift(...indexRoutes.sort((x, y) => x.httpRoute.length - y.httpRoute.length))
133
139
 
134
- rs = rs.sort((x, y) => {
135
- if (x.name === 'index') {
136
- if (y.name === 'index') {
137
- return +(x.httpRoute.length > y.httpRoute.length)
138
- }
140
+ return normalRoutes
141
+ }
139
142
 
140
- return -1
141
- }
143
+ export async function loadRoutesFromProject(): PlataPromise<Router.RequiredRoute[]> {
144
+ const routes: RequiredFolder<{default: Router.RouterBuilder}> = await require('@@/routes/*.*')
142
145
 
143
- return +(x.name > y.name)
144
- })
146
+ if (routes.errorID !== undefined) {
147
+ return routes
148
+ }
145
149
 
146
- return rs
150
+ return processRoutes(routes)
147
151
  }
148
152
 
149
153
  export async function buildExpressRouter(requiredRoutes: Router.RequiredRoute[]): PlataPromise<Router.Router> {
@@ -0,0 +1,45 @@
1
+ import { describe, it, before } from "node:test"
2
+ import assert from "node:assert"
3
+ import { PlataRoutes } from ".."
4
+ import { loadRuntimeLibs } from "../bin/runtime/_setupRuntime"
5
+
6
+
7
+ describe('Plata Switch', () => {
8
+ const plataPromise = (async () => {
9
+ const g = global as any
10
+
11
+ g.Plata = await loadRuntimeLibs()
12
+ })()
13
+
14
+ const exports = { default: async (r) => r }
15
+
16
+ before(async () => {
17
+ await plataPromise
18
+ })
19
+
20
+ it('Ordem dos index', async () => {
21
+ const routes = PlataRoutes.processRoutes([
22
+ {
23
+ exports,
24
+ filePath: '/v1/controle/index.js',
25
+ name: 'index'
26
+ },
27
+ {
28
+ exports,
29
+ filePath: '/v1/controle/update.js',
30
+ name: 'update'
31
+ },
32
+ {
33
+ exports,
34
+ filePath: '/v1/index.js',
35
+ name: 'index'
36
+ },
37
+ ])
38
+
39
+ assert.deepStrictEqual(routes.map(r => r.httpRoute), [
40
+ '/v1/',
41
+ '/v1/controle/',
42
+ '/v1/controle/update',
43
+ ])
44
+ })
45
+ })