@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 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.publicRouter();
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 controllerDirs = _fs["default"].readdirSync(socketDir);
412
- for (var i = 0; i < controllerDirs.length; i += 1) {
413
- var dirName = controllerDirs[i];
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
- // const versionName = versionDirs[j];
418
- // // eslint-disable-next-line global-require,import/no-dynamic-require
419
- // const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
420
- // this.addController(dirName, versionName, controller);
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
- if (!_lodash["default"].isEmpty(this.socketEvents)) {
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: "publicRouter",
27
- value: function publicRouter() {
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;
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azteam/express",
3
- "version": "1.2.492",
3
+ "version": "1.2.494",
4
4
  "license": "MIT",
5
5
  "author": "toda <sp.azsolution.net@gmail.com>",
6
6
  "main": "./lib/index.js",
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.publicRouter();
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 controllerDirs = fs.readdirSync(socketDir);
401
+ const socketDirs = fs.readdirSync(socketDir);
393
402
 
394
- for (let i = 0; i < controllerDirs.length; i += 1) {
395
- const dirName = controllerDirs[i];
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
- // const versionName = versionDirs[j];
401
- // // eslint-disable-next-line global-require,import/no-dynamic-require
402
- // const controller = require(`${apiDir}/${dirName}/${versionName}/controller`).default;
403
- // this.addController(dirName, versionName, controller);
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
- if (!_.isEmpty(this.socketEvents)) {
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
 
@@ -9,7 +9,7 @@ class Controller {
9
9
  this.repository = repository;
10
10
  }
11
11
 
12
- publicRouter() {
12
+ __getPublicRouters() {
13
13
  let child = this;
14
14
  const result = [];
15
15
 
@@ -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;
@@ -1 +1,2 @@
1
1
  export {default as Controller} from './Controller';
2
+ export {default as SocketEvent} from './SocketEvent';