@azteam/express 1.2.492 → 1.2.494
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/Server.js +46 -9
- package/lib/controller/Controller.js +2 -2
- package/lib/controller/SocketEvent.js +45 -0
- package/lib/controller/index.js +7 -0
- package/package.json +1 -1
- package/src/Server.js +50 -9
- package/src/controller/Controller.js +1 -1
- package/src/controller/SocketEvent.js +31 -0
- package/src/controller/index.js +1 -0
package/lib/Server.js
CHANGED
|
@@ -292,7 +292,7 @@ var Server = /*#__PURE__*/function () {
|
|
|
292
292
|
var controller = data.controller;
|
|
293
293
|
var controllerName = data.name;
|
|
294
294
|
var controllerVersion = data.version;
|
|
295
|
-
var listPublicRouter = controller.
|
|
295
|
+
var listPublicRouter = controller.__getPublicRouters();
|
|
296
296
|
_lodash["default"].map(listPublicRouter, function (method) {
|
|
297
297
|
var name = method.name,
|
|
298
298
|
type = method.type;
|
|
@@ -403,21 +403,31 @@ var Server = /*#__PURE__*/function () {
|
|
|
403
403
|
}
|
|
404
404
|
throw new Error('No controllers in use API');
|
|
405
405
|
}
|
|
406
|
+
}, {
|
|
407
|
+
key: "addSocketEvent",
|
|
408
|
+
value: function addSocketEvent(name, version, event) {
|
|
409
|
+
this.socketEvents.push({
|
|
410
|
+
name: name,
|
|
411
|
+
version: version,
|
|
412
|
+
SocketEvent: event
|
|
413
|
+
});
|
|
414
|
+
return this;
|
|
415
|
+
}
|
|
406
416
|
}, {
|
|
407
417
|
key: "initSocketEvent",
|
|
408
418
|
value: function initSocketEvent(socketDir) {
|
|
409
419
|
var excludeList = this.options.excludeList;
|
|
410
420
|
if (_fs["default"].existsSync(socketDir)) {
|
|
411
|
-
var
|
|
412
|
-
for (var i = 0; i <
|
|
413
|
-
var dirName =
|
|
421
|
+
var socketDirs = _fs["default"].readdirSync(socketDir);
|
|
422
|
+
for (var i = 0; i < socketDirs.length; i += 1) {
|
|
423
|
+
var dirName = socketDirs[i];
|
|
414
424
|
if (_fs["default"].statSync("".concat(socketDir, "/").concat(dirName)).isDirectory()) {
|
|
415
425
|
var versionDirs = _lodash["default"].differenceWith(_fs["default"].readdirSync("".concat(socketDir, "/").concat(dirName)), excludeList);
|
|
416
426
|
for (var j = 0; j < versionDirs.length; j += 1) {
|
|
417
|
-
|
|
418
|
-
//
|
|
419
|
-
|
|
420
|
-
|
|
427
|
+
var versionName = versionDirs[j];
|
|
428
|
+
// eslint-disable-next-line global-require
|
|
429
|
+
var event = require("".concat(socketDir, "/").concat(dirName, "/").concat(versionName, "/controller"))["default"];
|
|
430
|
+
this.addSocketEvent(dirName, versionName, event);
|
|
421
431
|
}
|
|
422
432
|
}
|
|
423
433
|
}
|
|
@@ -432,7 +442,8 @@ var Server = /*#__PURE__*/function () {
|
|
|
432
442
|
serviceDirs.map(function (dir) {
|
|
433
443
|
return _this4.initSocketEvent(dir);
|
|
434
444
|
});
|
|
435
|
-
|
|
445
|
+
var socketEvents = this.socketEvents;
|
|
446
|
+
if (!_lodash["default"].isEmpty(socketEvents)) {
|
|
436
447
|
var httpServer = (0, _http.createServer)();
|
|
437
448
|
var app = this.createExpressApp();
|
|
438
449
|
httpServer.on('request', app);
|
|
@@ -441,6 +452,32 @@ var Server = /*#__PURE__*/function () {
|
|
|
441
452
|
httpServer.on('listening', function () {
|
|
442
453
|
console.log('listening', "ServerIO start at http://localhost:".concat(httpServer.address().port));
|
|
443
454
|
});
|
|
455
|
+
var eventList = [];
|
|
456
|
+
var msg = [];
|
|
457
|
+
_lodash["default"].map(socketEvents, function (data) {
|
|
458
|
+
var SocketEvent = data.SocketEvent;
|
|
459
|
+
var eventName = data.name;
|
|
460
|
+
var eventVersion = data.version;
|
|
461
|
+
var obj = new SocketEvent(io);
|
|
462
|
+
var listPublicEvent = obj.__getPublicEvents(io);
|
|
463
|
+
_lodash["default"].map(listPublicEvent, function (method) {
|
|
464
|
+
var name = method.name,
|
|
465
|
+
type = method.type;
|
|
466
|
+
eventList.push(obj[name]);
|
|
467
|
+
msg.push({
|
|
468
|
+
name: eventName,
|
|
469
|
+
version: eventVersion,
|
|
470
|
+
type: type,
|
|
471
|
+
method: name
|
|
472
|
+
});
|
|
473
|
+
});
|
|
474
|
+
});
|
|
475
|
+
console.table(msg);
|
|
476
|
+
io.on('connection', function (socket) {
|
|
477
|
+
_lodash["default"].map(eventList, function (func) {
|
|
478
|
+
func(socket);
|
|
479
|
+
});
|
|
480
|
+
});
|
|
444
481
|
return io;
|
|
445
482
|
}
|
|
446
483
|
throw new Error('No events in use SOCKET');
|
|
@@ -23,8 +23,8 @@ var Controller = /*#__PURE__*/function () {
|
|
|
23
23
|
this.repository = repository;
|
|
24
24
|
}
|
|
25
25
|
_createClass(Controller, [{
|
|
26
|
-
key: "
|
|
27
|
-
value: function
|
|
26
|
+
key: "__getPublicRouters",
|
|
27
|
+
value: function __getPublicRouters() {
|
|
28
28
|
var child = this;
|
|
29
29
|
var result = [];
|
|
30
30
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
8
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
9
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
10
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
12
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
13
|
+
var SocketEvent = /*#__PURE__*/function () {
|
|
14
|
+
function SocketEvent(io) {
|
|
15
|
+
_classCallCheck(this, SocketEvent);
|
|
16
|
+
this.io = io;
|
|
17
|
+
}
|
|
18
|
+
_createClass(SocketEvent, [{
|
|
19
|
+
key: "__getPublicEvents",
|
|
20
|
+
value: function __getPublicEvents() {
|
|
21
|
+
var child = this;
|
|
22
|
+
var result = [];
|
|
23
|
+
|
|
24
|
+
// eslint-disable-next-line no-proto
|
|
25
|
+
while (Object.getPrototypeOf(child.__proto__)) {
|
|
26
|
+
var data = Object.getOwnPropertyNames(Object.getPrototypeOf(child));
|
|
27
|
+
data.map(function (methodName) {
|
|
28
|
+
var matches = methodName.match(/^(schedule|listen)/);
|
|
29
|
+
if (matches) {
|
|
30
|
+
result.push({
|
|
31
|
+
type: matches[0],
|
|
32
|
+
name: methodName
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return true;
|
|
36
|
+
});
|
|
37
|
+
// eslint-disable-next-line no-proto
|
|
38
|
+
child = child.__proto__;
|
|
39
|
+
}
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
}]);
|
|
43
|
+
return SocketEvent;
|
|
44
|
+
}();
|
|
45
|
+
var _default = exports["default"] = SocketEvent;
|
package/lib/controller/index.js
CHANGED
|
@@ -9,5 +9,12 @@ Object.defineProperty(exports, "Controller", {
|
|
|
9
9
|
return _Controller["default"];
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
+
Object.defineProperty(exports, "SocketEvent", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function get() {
|
|
15
|
+
return _SocketEvent["default"];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
12
18
|
var _Controller = _interopRequireDefault(require("./Controller"));
|
|
19
|
+
var _SocketEvent = _interopRequireDefault(require("./SocketEvent"));
|
|
13
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
package/package.json
CHANGED
package/src/Server.js
CHANGED
|
@@ -285,7 +285,7 @@ class Server {
|
|
|
285
285
|
const {controller} = data;
|
|
286
286
|
const controllerName = data.name;
|
|
287
287
|
const controllerVersion = data.version;
|
|
288
|
-
const listPublicRouter = controller.
|
|
288
|
+
const listPublicRouter = controller.__getPublicRouters();
|
|
289
289
|
|
|
290
290
|
_.map(listPublicRouter, (method) => {
|
|
291
291
|
const {name, type} = method;
|
|
@@ -385,22 +385,31 @@ class Server {
|
|
|
385
385
|
throw new Error('No controllers in use API');
|
|
386
386
|
}
|
|
387
387
|
|
|
388
|
+
addSocketEvent(name, version, event) {
|
|
389
|
+
this.socketEvents.push({
|
|
390
|
+
name,
|
|
391
|
+
version,
|
|
392
|
+
SocketEvent: event,
|
|
393
|
+
});
|
|
394
|
+
return this;
|
|
395
|
+
}
|
|
396
|
+
|
|
388
397
|
initSocketEvent(socketDir) {
|
|
389
398
|
const {excludeList} = this.options;
|
|
390
399
|
|
|
391
400
|
if (fs.existsSync(socketDir)) {
|
|
392
|
-
const
|
|
401
|
+
const socketDirs = fs.readdirSync(socketDir);
|
|
393
402
|
|
|
394
|
-
for (let i = 0; i <
|
|
395
|
-
const dirName =
|
|
403
|
+
for (let i = 0; i < socketDirs.length; i += 1) {
|
|
404
|
+
const dirName = socketDirs[i];
|
|
396
405
|
|
|
397
406
|
if (fs.statSync(`${socketDir}/${dirName}`).isDirectory()) {
|
|
398
407
|
const versionDirs = _.differenceWith(fs.readdirSync(`${socketDir}/${dirName}`), excludeList);
|
|
399
408
|
for (let j = 0; j < versionDirs.length; j += 1) {
|
|
400
|
-
|
|
401
|
-
//
|
|
402
|
-
|
|
403
|
-
|
|
409
|
+
const versionName = versionDirs[j];
|
|
410
|
+
// eslint-disable-next-line global-require
|
|
411
|
+
const event = require(`${socketDir}/${dirName}/${versionName}/controller`).default;
|
|
412
|
+
this.addSocketEvent(dirName, versionName, event);
|
|
404
413
|
}
|
|
405
414
|
}
|
|
406
415
|
}
|
|
@@ -413,7 +422,8 @@ class Server {
|
|
|
413
422
|
return this.initSocketEvent(dir);
|
|
414
423
|
});
|
|
415
424
|
|
|
416
|
-
|
|
425
|
+
const {socketEvents} = this;
|
|
426
|
+
if (!_.isEmpty(socketEvents)) {
|
|
417
427
|
const httpServer = createServer();
|
|
418
428
|
const app = this.createExpressApp();
|
|
419
429
|
httpServer.on('request', app);
|
|
@@ -425,6 +435,37 @@ class Server {
|
|
|
425
435
|
console.log('listening', `ServerIO start at http://localhost:${httpServer.address().port}`);
|
|
426
436
|
});
|
|
427
437
|
|
|
438
|
+
const eventList = [];
|
|
439
|
+
const msg = [];
|
|
440
|
+
|
|
441
|
+
_.map(socketEvents, (data) => {
|
|
442
|
+
const {SocketEvent} = data;
|
|
443
|
+
const eventName = data.name;
|
|
444
|
+
const eventVersion = data.version;
|
|
445
|
+
const obj = new SocketEvent(io);
|
|
446
|
+
const listPublicEvent = obj.__getPublicEvents(io);
|
|
447
|
+
|
|
448
|
+
_.map(listPublicEvent, (method) => {
|
|
449
|
+
const {name, type} = method;
|
|
450
|
+
eventList.push(obj[name]);
|
|
451
|
+
|
|
452
|
+
msg.push({
|
|
453
|
+
name: eventName,
|
|
454
|
+
version: eventVersion,
|
|
455
|
+
type,
|
|
456
|
+
method: name,
|
|
457
|
+
});
|
|
458
|
+
});
|
|
459
|
+
});
|
|
460
|
+
|
|
461
|
+
console.table(msg);
|
|
462
|
+
|
|
463
|
+
io.on('connection', (socket) => {
|
|
464
|
+
_.map(eventList, (func) => {
|
|
465
|
+
func(socket);
|
|
466
|
+
});
|
|
467
|
+
});
|
|
468
|
+
|
|
428
469
|
return io;
|
|
429
470
|
}
|
|
430
471
|
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
class SocketEvent {
|
|
2
|
+
constructor(io) {
|
|
3
|
+
this.io = io;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
__getPublicEvents() {
|
|
7
|
+
let child = this;
|
|
8
|
+
const result = [];
|
|
9
|
+
|
|
10
|
+
// eslint-disable-next-line no-proto
|
|
11
|
+
while (Object.getPrototypeOf(child.__proto__)) {
|
|
12
|
+
const data = Object.getOwnPropertyNames(Object.getPrototypeOf(child));
|
|
13
|
+
|
|
14
|
+
data.map(function (methodName) {
|
|
15
|
+
const matches = methodName.match(/^(schedule|listen)/);
|
|
16
|
+
if (matches) {
|
|
17
|
+
result.push({
|
|
18
|
+
type: matches[0],
|
|
19
|
+
name: methodName,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return true;
|
|
23
|
+
});
|
|
24
|
+
// eslint-disable-next-line no-proto
|
|
25
|
+
child = child.__proto__;
|
|
26
|
+
}
|
|
27
|
+
return result;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export default SocketEvent;
|
package/src/controller/index.js
CHANGED