@steedos/router 3.0.0-beta.2 → 3.0.0-beta.8

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/lib/index.d.ts CHANGED
@@ -2,12 +2,17 @@ declare class ExpressAppStatic {
2
2
  app: any;
3
3
  beforeRouter: any;
4
4
  router: any;
5
+ scripts: string;
5
6
  constructor();
7
+ private initClientJsRouter;
6
8
  staticRouter: () => any;
7
9
  staticApp: () => any;
8
10
  staticBeforeRouter: () => any;
11
+ setClientScripts: (scripts: string) => void;
9
12
  }
10
13
  export declare const expressApp: ExpressAppStatic;
11
14
  export declare const staticRouter: () => any;
12
15
  export declare const staticBeforeRouter: () => any;
16
+ export declare const loadRouters: (routers: any) => void;
17
+ export declare const removeRouter: (path: any, methods: any) => void;
13
18
  export {};
package/lib/index.js CHANGED
@@ -1,16 +1,24 @@
1
1
  "use strict";
2
- exports.__esModule = true;
3
- exports.staticBeforeRouter = exports.staticRouter = exports.expressApp = void 0;
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeRouter = exports.loadRouters = exports.staticBeforeRouter = exports.staticRouter = exports.expressApp = void 0;
4
4
  var express = require("express");
5
5
  var cors = require('cors');
6
6
  var compression = require('compression');
7
7
  var session = require('express-session');
8
+ var _ = require('lodash');
8
9
  var ExpressAppStatic = (function () {
9
10
  function ExpressAppStatic() {
10
11
  var _this = this;
11
12
  this.app = null;
12
13
  this.beforeRouter = null;
13
14
  this.router = null;
15
+ this.scripts = '';
16
+ this.initClientJsRouter = function () {
17
+ _this.router.get('/client_scripts.js', function (req, res) {
18
+ res.header('Content-Type', 'application/javascript');
19
+ res.send(_this.scripts);
20
+ });
21
+ };
14
22
  this.staticRouter = function () {
15
23
  return _this.router;
16
24
  };
@@ -20,8 +28,12 @@ var ExpressAppStatic = (function () {
20
28
  this.staticBeforeRouter = function () {
21
29
  return _this.beforeRouter;
22
30
  };
31
+ this.setClientScripts = function (scripts) {
32
+ _this.scripts = scripts;
33
+ };
23
34
  this.beforeRouter = express.Router();
24
35
  this.router = express.Router();
36
+ this.initClientJsRouter();
25
37
  var app = express();
26
38
  app.use(cors({ origin: true, credentials: true }));
27
39
  app.use(compression());
@@ -54,4 +66,36 @@ var staticBeforeRouter = function () {
54
66
  return exports.expressApp.staticBeforeRouter();
55
67
  };
56
68
  exports.staticBeforeRouter = staticBeforeRouter;
69
+ var routersApp = (0, exports.staticRouter)();
70
+ var loadRouters = function (routers) {
71
+ _.each(routers, function (router) {
72
+ if (router.router.default !== routersApp) {
73
+ if (router.router.default) {
74
+ _.each(router.router.default.stack, function (layer) {
75
+ routersApp.stack.push(layer);
76
+ });
77
+ }
78
+ }
79
+ });
80
+ };
81
+ exports.loadRouters = loadRouters;
82
+ var removeRouter = function (path, methods) {
83
+ routersApp === null || routersApp === void 0 ? void 0 : routersApp.stack.forEach(function (route, i, routes) {
84
+ if (route.route && route.route.path === path) {
85
+ if (JSON.stringify(route.route.methods) === JSON.stringify(methods)) {
86
+ routes.splice(i, 1);
87
+ }
88
+ }
89
+ if (route.handle.stack) {
90
+ route.handle.stack.forEach(function (_route, i, routes) {
91
+ if (_route.route && _route.route.path === path) {
92
+ if (JSON.stringify(_route.route.methods) === JSON.stringify(methods)) {
93
+ routes.splice(i, 1);
94
+ }
95
+ }
96
+ });
97
+ }
98
+ });
99
+ };
100
+ exports.removeRouter = removeRouter;
57
101
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAOA,IAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AACnC,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7B,IAAM,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC3C,IAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE1C;IAII;QAAA,iBAwBC;QA3BD,QAAG,GAAG,IAAI,CAAC;QACX,iBAAY,GAAG,IAAI,CAAC;QACpB,WAAM,GAAG,IAAI,CAAC;QA2BP,iBAAY,GAAG;YAClB,OAAO,KAAI,CAAC,MAAM,CAAC;QACvB,CAAC,CAAA;QAEM,cAAS,GAAG;YACf,OAAO,KAAI,CAAC,GAAG,CAAC;QACpB,CAAC,CAAA;QAEM,uBAAkB,GAAG;YACxB,OAAO,KAAI,CAAC,YAAY,CAAC;QAC7B,CAAC,CAAA;QAnCG,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAE/B,IAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QAC5B,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;QAChD,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QACjB,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC;YACZ,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,SAAS;YACvD,MAAM,EAAE,KAAK;YACb,iBAAiB,EAAE,IAAI;YACvB,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;YACzC,IAAI,EAAE,MAAM;SACf,CAAC,CAAC,CAAA;QACH,IAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAC;YAC5B,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAA,GAAG;gBACxC,IAAI,GAAG;oBACH,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC3B,GAAG,CAAC,GAAG,CAAC,KAAI,CAAC,kBAAkB,EAAE,CAAC,CAAA;gBAClC,GAAG,CAAC,GAAG,CAAC,KAAI,CAAC,YAAY,EAAE,CAAC,CAAA;gBAC5B,OAAO,OAAO,CAAC,IAAI,CAAC,iDAA0C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAE,CAAC,CAAC;YACjG,CAAC,CAAC,CAAC;SACN;QACD,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAaL,uBAAC;AAAD,CAAC,AAzCD,IAyCC;AAEY,QAAA,UAAU,GAAG,IAAI,gBAAgB,EAAE,CAAC;AAG1C,IAAM,YAAY,GAAG;IACxB,OAAO,kBAAU,CAAC,YAAY,EAAE,CAAC;AACrC,CAAC,CAAA;AAFY,QAAA,YAAY,gBAExB;AAEM,IAAM,kBAAkB,GAAG;IAC9B,OAAO,kBAAU,CAAC,kBAAkB,EAAE,CAAC;AAC3C,CAAC,CAAA;AAFY,QAAA,kBAAkB,sBAE9B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@steedos/router",
3
3
  "private": false,
4
- "version": "3.0.0-beta.2",
4
+ "version": "3.0.0-beta.8",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "scripts": {
@@ -18,5 +18,5 @@
18
18
  "publishConfig": {
19
19
  "access": "public"
20
20
  },
21
- "gitHead": "72fa51bda8ff714d5fdb933bf0a45ea4cb82df74"
21
+ "gitHead": "723d92765db5342a374c7aacb5b835e69f77ca4b"
22
22
  }
package/src/index.ts CHANGED
@@ -2,21 +2,24 @@
2
2
  * @Author: baozhoutao@steedos.com
3
3
  * @Date: 2022-11-15 14:48:43
4
4
  * @LastEditors: baozhoutao@steedos.com
5
- * @LastEditTime: 2022-11-17 11:15:40
5
+ * @LastEditTime: 2025-02-21 15:58:29
6
6
  * @Description:
7
7
  */
8
8
  const express = require("express");
9
9
  const cors = require('cors');
10
10
  const compression = require('compression');
11
11
  const session = require('express-session')
12
+ const _ = require('lodash');
12
13
 
13
14
  class ExpressAppStatic{
14
15
  app = null;
15
16
  beforeRouter = null;
16
17
  router = null;
18
+ scripts = '';
17
19
  constructor(){
18
20
  this.beforeRouter = express.Router();
19
21
  this.router = express.Router();
22
+ this.initClientJsRouter();
20
23
  // 读取环境变量、配置文件, 启动端口, 控制中间件
21
24
  const app = express();
22
25
  app.use(cors({origin: true, credentials: true}))
@@ -40,6 +43,13 @@ class ExpressAppStatic{
40
43
  this.app = app;
41
44
  }
42
45
 
46
+ private initClientJsRouter = ()=>{
47
+ this.router.get('/client_scripts.js', (req, res)=>{
48
+ res.header('Content-Type', 'application/javascript');
49
+ res.send(this.scripts);
50
+ });
51
+ }
52
+
43
53
  public staticRouter = ()=>{
44
54
  return this.router;
45
55
  }
@@ -51,6 +61,10 @@ class ExpressAppStatic{
51
61
  public staticBeforeRouter = ()=>{
52
62
  return this.beforeRouter;
53
63
  }
64
+
65
+ public setClientScripts = (scripts: string)=>{
66
+ this.scripts = scripts;
67
+ }
54
68
  }
55
69
 
56
70
  export const expressApp = new ExpressAppStatic();
@@ -64,6 +78,39 @@ export const staticBeforeRouter = ()=>{
64
78
  return expressApp.staticBeforeRouter();
65
79
  }
66
80
 
81
+ const routersApp = staticRouter();
82
+
83
+ export const loadRouters = (routers)=>{
84
+ _.each(routers, (router)=>{
85
+ if(router.router.default !== routersApp){
86
+ if(router.router.default){
87
+ _.each(router.router.default.stack, (layer)=>{
88
+ routersApp.stack.push(layer)
89
+ })
90
+ }
91
+ }
92
+ })
93
+ }
94
+
95
+ export const removeRouter = (path, methods)=>{
96
+ routersApp?.stack.forEach(function(route,i,routes) {
97
+ if (route.route && route.route.path === path) {
98
+ if(JSON.stringify(route.route.methods) === JSON.stringify(methods)){
99
+ routes.splice(i,1);
100
+ }
101
+ }
102
+ if(route.handle.stack){
103
+ route.handle.stack.forEach(function(_route,i,routes) {
104
+ if (_route.route && _route.route.path === path) {
105
+ if(JSON.stringify(_route.route.methods) === JSON.stringify(methods)){
106
+ routes.splice(i,1);
107
+ }
108
+ }
109
+ });
110
+ }
111
+ });
112
+ }
113
+
67
114
  // setInterval(()=>{
68
115
  // console.log(`expressApp.staticRouter()====>`, expressApp.staticRouter())
69
116
  // }, 1000)