hop-message 0.0.2 → 0.0.4

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/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "hop-message",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "routing message for hop",
5
5
  "type": "module",
6
- "bin": "src/index.js",
6
+ "main": "src/index.js",
7
7
  "scripts": {
8
8
  "start": "node src/index.js",
9
9
  "test": "mocha test/*.*"
package/src/index.js CHANGED
@@ -11,12 +11,17 @@
11
11
  */
12
12
  import util from 'util'
13
13
  import EventEmitter from 'events'
14
+ import SfRoute from './safeflow/index.js'
15
+ import LibraryRoute from './library/index.js'
16
+ // import HyperRoute from './hyperspace/index.js'
14
17
 
15
18
  class HopMessages extends EventEmitter {
16
19
 
17
20
  constructor() {
18
21
  super()
19
- console.log('{{HOP-Messages}}')
22
+ this.routeSafeflow = new SfRoute()
23
+ this.routeLibrary = new LibraryRoute()
24
+ // this.routeHyper = new HyperRoute()
20
25
  }
21
26
 
22
27
  /**
@@ -25,9 +30,51 @@ class HopMessages extends EventEmitter {
25
30
  *
26
31
  */
27
32
  messageIn = function (message) {
28
- console.log('message')
33
+ let routeMessage = {}
34
+ // verifty -> route ECS or back to network (or both)
35
+ let verifyState = this.verifyMessage()
36
+ // library sf-ECS data-API AI
37
+ if (verifyState === true) {
38
+ if (message.type === 'launch') {
39
+ routeMessage.type = 'launch'
40
+ routeMessage.data = 'pass'
41
+ } else if (message.reftype.trim() === 'ignore' && message.type.trim() === 'safeflow' ) {
42
+ // sf-ECS
43
+ routeMessage = this.routeSafeflow.assessMessage(message)
44
+ } else if (message.type.trim() === 'library') {
45
+ routeMessage = this.routeLibrary.assessMessage(message)
46
+ } else if (message.type.trim() === 'bentospace') {
47
+ routeMessage.type = 'bentospace'
48
+ routeMessage.reftype = 'bentospace'
49
+ routeMessage.action = message.action
50
+ routeMessage.data = message.data
51
+ } else if (message.type.trim() === 'data-api') {
52
+ // routeMessage = this.routeHyper.()
53
+ } else if (message.type.trim() === 'bbai') {
54
+ // routeMessage = this.routeBBAi(options)
55
+ routeMessage.type = 'bbai-reply'
56
+ routeMessage.reftype = 'ignore'
57
+ routeMessage.action = message.action
58
+ routeMessage.data = message.data
59
+ }
60
+ } else {
61
+ routeMessage.type = 'launch'
62
+ routeMessage.data = 'fail'
63
+ }
64
+ return routeMessage
29
65
  }
30
66
 
67
+ /**
68
+ * check if signed, structure, warm cold, allow or disallow, order priority
69
+ * @method verifyMessage
70
+ *
71
+ */
72
+ verifyMessage = function (message) {
73
+ // check for public key sign, format
74
+ // is between peer and HOP or from network?
75
+ return true
76
+ }
77
+
31
78
  }
32
79
 
33
80
  export default HopMessages
@@ -0,0 +1,37 @@
1
+ 'use strict'
2
+ /**
3
+ * library - routing
4
+ *
5
+ *
6
+ * @class LibraryRoute
7
+ * @package LibraryRoute
8
+ * @copyright Copyright (c) 2022 James Littlejohn
9
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-3.0.html
10
+ * @version $Id$
11
+ */
12
+ import util from 'util'
13
+ import EventEmitter from 'events'
14
+
15
+ class LibraryRoute extends EventEmitter {
16
+
17
+ constructor() {
18
+ super()
19
+ }
20
+
21
+ /**
22
+ * type of safeflow message?
23
+ * @method assessMessage
24
+ *
25
+ */
26
+ assessMessage = function (options) {
27
+ let messageRoute = {}
28
+ messageRoute.type = 'library'
29
+ messageRoute.action = options.action
30
+ messageRoute.reftype = options.reftype
31
+ messageRoute.data = options.data
32
+ return messageRoute
33
+ }
34
+
35
+ }
36
+
37
+ export default LibraryRoute
@@ -0,0 +1,36 @@
1
+ 'use strict'
2
+ /**
3
+ * safeflow - routing
4
+ *
5
+ *
6
+ * @class SfRoute
7
+ * @package SafeflowRoute
8
+ * @copyright Copyright (c) 2022 James Littlejohn
9
+ * @license http://www.gnu.org/licenses/old-licenses/gpl-3.0.html
10
+ * @version $Id$
11
+ */
12
+ import util from 'util'
13
+ import EventEmitter from 'events'
14
+
15
+ class SfRoute extends EventEmitter {
16
+
17
+ constructor() {
18
+ super()
19
+ }
20
+
21
+ /**
22
+ * type of safeflow message?
23
+ * @method assessMessage
24
+ *
25
+ */
26
+ assessMessage = function (options) {
27
+ let messageRoute = {}
28
+ messageRoute.type = options.type
29
+ messageRoute.action = options.action
30
+ messageRoute.data = options.data
31
+ return messageRoute
32
+ }
33
+
34
+ }
35
+
36
+ export default SfRoute