@bitpoolos/edge-bacnet 1.0.6 → 1.0.9

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.
Files changed (179) hide show
  1. package/bacnet_client.js +585 -152
  2. package/bacnet_device.js +34 -11
  3. package/bacnet_gateway.html +189 -92
  4. package/bacnet_gateway.js +152 -21
  5. package/bacnet_object.js +1 -1
  6. package/bacnet_read.html +115 -113
  7. package/bacnet_read.js +24 -24
  8. package/bacnet_write.html +19 -15
  9. package/bacnet_write.js +0 -2
  10. package/common.js +63 -8
  11. package/package.json +6 -4
  12. package/resources/confirmationservice.min.js +1 -0
  13. package/resources/confirmdialog.min.js +1 -0
  14. package/resources/fonts/primeicons.woff2 +0 -0
  15. package/resources/node-bacnet/CHANGELOG.md +481 -0
  16. package/resources/{bacstack → node-bacnet}/LICENSE.md +3 -1
  17. package/resources/node-bacnet/README.md +91 -0
  18. package/resources/node-bacnet/docs/Client.html +4422 -0
  19. package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
  20. package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
  21. package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
  22. package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
  23. package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
  24. package/resources/node-bacnet/docs/bacnet.html +7032 -0
  25. package/resources/node-bacnet/docs/client.js.html +1759 -0
  26. package/resources/node-bacnet/docs/enum.js.html +2530 -0
  27. package/resources/node-bacnet/docs/global.html +2068 -0
  28. package/resources/node-bacnet/docs/images/mocha-logo.svg +65 -0
  29. package/resources/node-bacnet/docs/index.html +283 -0
  30. package/resources/node-bacnet/docs/scripts/collapse.js +11 -0
  31. package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +4 -0
  32. package/resources/node-bacnet/docs/scripts/linenumber.js +26 -0
  33. package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  34. package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +2 -0
  35. package/resources/node-bacnet/docs/scripts/prettify/prettify.js +28 -0
  36. package/resources/node-bacnet/docs/scripts/search.js +47 -0
  37. package/resources/node-bacnet/docs/services_i-am.js.html +157 -0
  38. package/resources/node-bacnet/docs/services_time-sync.js.html +118 -0
  39. package/resources/node-bacnet/docs/services_who-is.js.html +138 -0
  40. package/resources/node-bacnet/docs/styles/jsdoc.css +683 -0
  41. package/resources/node-bacnet/docs/styles/prettify.css +82 -0
  42. package/resources/node-bacnet/examples/discover-devices.js +66 -0
  43. package/resources/node-bacnet/examples/read-device.js +510 -0
  44. package/resources/node-bacnet/examples/subscribe-cov.js +75 -0
  45. package/resources/{bacstack → node-bacnet}/index.js +3 -0
  46. package/resources/{bacstack → node-bacnet}/lib/apdu.js +56 -39
  47. package/resources/{bacstack → node-bacnet}/lib/asn1.js +550 -532
  48. package/resources/node-bacnet/lib/bvlc.js +90 -0
  49. package/resources/node-bacnet/lib/client.js +1695 -0
  50. package/resources/node-bacnet/lib/enum.js +2463 -0
  51. package/resources/node-bacnet/lib/npdu.js +123 -0
  52. package/resources/{bacstack → node-bacnet}/lib/services/add-list-element.js +12 -6
  53. package/resources/{bacstack → node-bacnet}/lib/services/alarm-acknowledge.js +3 -3
  54. package/resources/{bacstack → node-bacnet}/lib/services/alarm-summary.js +5 -4
  55. package/resources/{bacstack → node-bacnet}/lib/services/atomic-read-file.js +49 -26
  56. package/resources/{bacstack → node-bacnet}/lib/services/atomic-write-file.js +40 -23
  57. package/resources/{bacstack → node-bacnet}/lib/services/cov-notify.js +33 -17
  58. package/resources/{bacstack → node-bacnet}/lib/services/create-object.js +23 -13
  59. package/resources/{bacstack → node-bacnet}/lib/services/delete-object.js +7 -2
  60. package/resources/{bacstack → node-bacnet}/lib/services/device-communication-control.js +8 -3
  61. package/resources/{bacstack → node-bacnet}/lib/services/error.js +7 -0
  62. package/resources/{bacstack → node-bacnet}/lib/services/event-information.js +10 -9
  63. package/resources/{bacstack → node-bacnet}/lib/services/event-notify-data.js +38 -16
  64. package/resources/{bacstack → node-bacnet}/lib/services/get-enrollment-summary.js +24 -11
  65. package/resources/{bacstack → node-bacnet}/lib/services/get-event-information.js +28 -13
  66. package/resources/node-bacnet/lib/services/i-am.js +90 -0
  67. package/resources/{bacstack/lib/services/i-have-broadcast.js → node-bacnet/lib/services/i-have.js} +3 -2
  68. package/resources/{bacstack → node-bacnet}/lib/services/index.js +7 -4
  69. package/resources/{bacstack → node-bacnet}/lib/services/life-safety-operation.js +3 -2
  70. package/resources/{bacstack → node-bacnet}/lib/services/private-transfer.js +3 -2
  71. package/resources/{bacstack → node-bacnet}/lib/services/read-property-multiple.js +11 -6
  72. package/resources/{bacstack → node-bacnet}/lib/services/read-property.js +42 -24
  73. package/resources/{bacstack → node-bacnet}/lib/services/read-range.js +37 -27
  74. package/resources/node-bacnet/lib/services/register-foreign-device.js +18 -0
  75. package/resources/{bacstack → node-bacnet}/lib/services/reinitialize-device.js +9 -4
  76. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-cov.js +9 -4
  77. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-property.js +18 -8
  78. package/resources/{bacstack → node-bacnet}/lib/services/time-sync.js +28 -5
  79. package/resources/{bacstack → node-bacnet}/lib/services/who-has.js +3 -3
  80. package/resources/{bacstack → node-bacnet}/lib/services/who-is.js +42 -9
  81. package/resources/{bacstack → node-bacnet}/lib/services/write-property-multiple.js +33 -16
  82. package/resources/{bacstack → node-bacnet}/lib/services/write-property.js +23 -13
  83. package/resources/node-bacnet/lib/transport.js +82 -0
  84. package/resources/node-bacnet/package.json +92 -0
  85. package/resources/primeicons.css +90 -2
  86. package/resources/bacstack/.codeclimate.yml +0 -15
  87. package/resources/bacstack/.dockerignore +0 -5
  88. package/resources/bacstack/.editorconfig +0 -13
  89. package/resources/bacstack/.eslintrc.yml +0 -13
  90. package/resources/bacstack/.github/ISSUE_TEMPLATE.md +0 -26
  91. package/resources/bacstack/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  92. package/resources/bacstack/.github/workflows/ci.yml +0 -39
  93. package/resources/bacstack/.jscsrc +0 -8
  94. package/resources/bacstack/.jshintrc +0 -50
  95. package/resources/bacstack/.travis.yml +0 -27
  96. package/resources/bacstack/CHANGELOG.md +0 -232
  97. package/resources/bacstack/CODE_OF_CONDUCT.md +0 -74
  98. package/resources/bacstack/CONTRIBUTING.md +0 -77
  99. package/resources/bacstack/Dockerfile +0 -15
  100. package/resources/bacstack/FAQ.md +0 -64
  101. package/resources/bacstack/README.md +0 -157
  102. package/resources/bacstack/docker-compose.yml +0 -9
  103. package/resources/bacstack/lib/adpu.js +0 -190
  104. package/resources/bacstack/lib/bvlc.js +0 -43
  105. package/resources/bacstack/lib/client.js +0 -1028
  106. package/resources/bacstack/lib/enum.js +0 -1314
  107. package/resources/bacstack/lib/npdu.js +0 -119
  108. package/resources/bacstack/lib/services/i-am-broadcast.js +0 -51
  109. package/resources/bacstack/lib/services.js +0 -1963
  110. package/resources/bacstack/lib/transport.js +0 -52
  111. package/resources/bacstack/package-lock.json +0 -7974
  112. package/resources/bacstack/package.json +0 -84
  113. package/resources/bacstack/test/compliance/who-is.spec.js +0 -37
  114. package/resources/bacstack/test/integration/acknowledge-alarm.spec.js +0 -14
  115. package/resources/bacstack/test/integration/add-list-element.spec.js +0 -16
  116. package/resources/bacstack/test/integration/confirmed-event-notification.spec.js +0 -30
  117. package/resources/bacstack/test/integration/confirmed-private-transfer.spec.js +0 -15
  118. package/resources/bacstack/test/integration/create-object.spec.js +0 -16
  119. package/resources/bacstack/test/integration/delete-object.spec.js +0 -14
  120. package/resources/bacstack/test/integration/device-communication-control.spec.js +0 -14
  121. package/resources/bacstack/test/integration/get-alarm-summary.spec.js +0 -14
  122. package/resources/bacstack/test/integration/get-enrollment-summary.spec.js +0 -15
  123. package/resources/bacstack/test/integration/get-event-information.spec.js +0 -14
  124. package/resources/bacstack/test/integration/read-file.spec.js +0 -14
  125. package/resources/bacstack/test/integration/read-property-multiple.spec.js +0 -110
  126. package/resources/bacstack/test/integration/read-property.spec.js +0 -14
  127. package/resources/bacstack/test/integration/read-range.spec.js +0 -14
  128. package/resources/bacstack/test/integration/reinitialize-sevice.spec.js +0 -14
  129. package/resources/bacstack/test/integration/remove-list-element.spec.js +0 -16
  130. package/resources/bacstack/test/integration/subscribe-cov.spec.js +0 -14
  131. package/resources/bacstack/test/integration/subscribe-property.spec.js +0 -14
  132. package/resources/bacstack/test/integration/time-sync-utc.spec.js +0 -10
  133. package/resources/bacstack/test/integration/time-sync.spec.js +0 -10
  134. package/resources/bacstack/test/integration/unconfirmed-event-notification.spec.js +0 -28
  135. package/resources/bacstack/test/integration/unconfirmed-private-transfer.spec.js +0 -11
  136. package/resources/bacstack/test/integration/utils.js +0 -30
  137. package/resources/bacstack/test/integration/who-is.spec.js +0 -17
  138. package/resources/bacstack/test/integration/write-file.spec.js +0 -14
  139. package/resources/bacstack/test/integration/write-property-multiple.spec.js +0 -19
  140. package/resources/bacstack/test/integration/write-property.spec.js +0 -14
  141. package/resources/bacstack/test/unit/apdu.spec.js +0 -162
  142. package/resources/bacstack/test/unit/asn1.spec.js +0 -39
  143. package/resources/bacstack/test/unit/bacnet-apdu.spec.js +0 -161
  144. package/resources/bacstack/test/unit/bacnet-asn1.spec.js +0 -32
  145. package/resources/bacstack/test/unit/bacnet-bvlc.spec.js +0 -57
  146. package/resources/bacstack/test/unit/bacnet-npdu.spec.js +0 -118
  147. package/resources/bacstack/test/unit/bacnet-services.spec.js +0 -2052
  148. package/resources/bacstack/test/unit/bvlc.spec.js +0 -58
  149. package/resources/bacstack/test/unit/npdu.spec.js +0 -119
  150. package/resources/bacstack/test/unit/service-add-list-element.spec.js +0 -24
  151. package/resources/bacstack/test/unit/service-alarm-acknowledge.spec.js +0 -71
  152. package/resources/bacstack/test/unit/service-alarm-summary.spec.js +0 -22
  153. package/resources/bacstack/test/unit/service-atomic-read-file.spec.js +0 -54
  154. package/resources/bacstack/test/unit/service-atomic-write-file.spec.js +0 -56
  155. package/resources/bacstack/test/unit/service-cov-notify.spec.js +0 -98
  156. package/resources/bacstack/test/unit/service-create-object.spec.js +0 -90
  157. package/resources/bacstack/test/unit/service-delete-object.spec.js +0 -17
  158. package/resources/bacstack/test/unit/service-device-communication-control.spec.js +0 -29
  159. package/resources/bacstack/test/unit/service-error.spec.js +0 -17
  160. package/resources/bacstack/test/unit/service-event-information.spec.js +0 -48
  161. package/resources/bacstack/test/unit/service-event-notify-data.spec.js +0 -310
  162. package/resources/bacstack/test/unit/service-get-enrollment-summary.spec.js +0 -45
  163. package/resources/bacstack/test/unit/service-get-event-information.spec.js +0 -62
  164. package/resources/bacstack/test/unit/service-i-am.spec.js +0 -19
  165. package/resources/bacstack/test/unit/service-i-have-broadcast.spec.js +0 -18
  166. package/resources/bacstack/test/unit/service-life-safety-operation.spec.js +0 -19
  167. package/resources/bacstack/test/unit/service-private-transfer.spec.js +0 -18
  168. package/resources/bacstack/test/unit/service-read-property-multiple.spec.js +0 -131
  169. package/resources/bacstack/test/unit/service-read-property.spec.js +0 -541
  170. package/resources/bacstack/test/unit/service-read-range.spec.js +0 -97
  171. package/resources/bacstack/test/unit/service-reinitialize-device.spec.js +0 -27
  172. package/resources/bacstack/test/unit/service-subscribe-cov.spec.js +0 -32
  173. package/resources/bacstack/test/unit/service-subscribe-property.spec.js +0 -50
  174. package/resources/bacstack/test/unit/service-time-sync.spec.js +0 -18
  175. package/resources/bacstack/test/unit/service-who-has.spec.js +0 -33
  176. package/resources/bacstack/test/unit/service-who-is.spec.js +0 -17
  177. package/resources/bacstack/test/unit/service-write-property-multiple.spec.js +0 -143
  178. package/resources/bacstack/test/unit/service-write-property.spec.js +0 -198
  179. package/resources/bacstack/test/unit/utils.js +0 -6
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * This script will discover tze devices and tries to register a COV for ANALOG_INPUT 0
5
+ * The script works very well when the Yabe Room Simulator exe is running
6
+ *
7
+ * After 20s the subscription is cancelled by updating it with a lifetime of 1s
8
+ */
9
+
10
+ const Bacnet = require('../index');
11
+
12
+ // you need to run the Weather2 Station of the YABE BACnet package
13
+ // https://sourceforge.net/projects/yetanotherbacnetexplorer/
14
+
15
+ // create instance of Bacnet
16
+ const bacnetClient = new Bacnet({apduTimeout: 10000, interface: '0.0.0.0'});
17
+
18
+ // emitted for each new message
19
+ bacnetClient.on('message', (msg, rinfo) => {
20
+ console.log(msg);
21
+ if (rinfo) console.log(rinfo);
22
+ });
23
+
24
+ // emitted on errors
25
+ bacnetClient.on('error', (err) => {
26
+ console.error(err);
27
+ bacnetClient.close();
28
+ });
29
+
30
+ // emmitted when Bacnet server listens for incoming UDP packages
31
+ bacnetClient.on('listening', () => {
32
+ console.log('sent whoIs ' + Date.now());
33
+ // discover devices once we are listening
34
+ bacnetClient.whoIs();
35
+ });
36
+
37
+ // emitted when "Change of object" Messages are coming in
38
+ bacnetClient.on('covNotifyUnconfirmed', (data) => {
39
+ console.log('Received COV: ' + JSON.stringify(data));
40
+ });
41
+
42
+ // emitted when a new device is discovered in the network
43
+ bacnetClient.on('iAm', (device) => {
44
+ console.log('Received iAm: ' + JSON.stringify(device, null, 4));
45
+ // address object of discovered device,
46
+ // just use in subsequent calls that are directed to this device
47
+ const address = device.header.sender;
48
+
49
+ //discovered device ID
50
+ const deviceId = device.payload.deviceId;
51
+ console.log('Found Device ' + deviceId + ' on ' + JSON.stringify(address));
52
+
53
+ // Subscribe changes for RESENT_VALUE of ANALOG_INPUT,0 object
54
+ // lifetime 0 means "for ever"
55
+ bacnetClient.subscribeCov(address, {type: 0, instance: 0}, 85, false, false, 0, (err) => {
56
+ console.log('subscribeCOV' + err);
57
+ });
58
+
59
+ // after 20s re-subscribe but with 1s lifetime to stop it
60
+ // I had issues with "cancel" call with the simulated device
61
+ setTimeout(() => {
62
+ bacnetClient.subscribeCov(address, {type: 0, instance: 0}, 85, false, false, 1, (err) => {
63
+ console.log('UnsubscribeCOV' + err);
64
+ });
65
+ }, 20000);
66
+
67
+ });
68
+
69
+ // after 30s end the connection
70
+ setTimeout(() => {
71
+
72
+ bacnetClient.close();
73
+ console.log('closed transport ' + Date.now());
74
+
75
+ }, 30000); // do not close to fast
@@ -1,2 +1,5 @@
1
+ 'use strict';
2
+
1
3
  module.exports = require('./lib/client');
4
+ module.exports._ = require('underscore');
2
5
  module.exports.enum = require('./lib/enum');
@@ -1,6 +1,9 @@
1
1
  'use strict';
2
2
 
3
- const baEnum = require('./enum');
3
+ const baAsn1 = require('./asn1');
4
+ const baEnum = require('./enum');
5
+ const debug = require('debug')('bacnet:apdu:debug');
6
+ const trace = require('debug')('bacnet:apdu:trace');
4
7
 
5
8
  const getDecodedType = module.exports.getDecodedType = (buffer, offset) => {
6
9
  return buffer[offset];
@@ -13,16 +16,16 @@ module.exports.setDecodedType = (buffer, offset, type) => {
13
16
  module.exports.getDecodedInvokeId = (buffer, offset) => {
14
17
  const type = getDecodedType(buffer, offset);
15
18
  switch (type & baEnum.PDU_TYPE_MASK) {
16
- case baEnum.PduTypes.SIMPLE_ACK:
17
- case baEnum.PduTypes.COMPLEX_ACK:
18
- case baEnum.PduTypes.ERROR:
19
- case baEnum.PduTypes.REJECT:
20
- case baEnum.PduTypes.ABORT:
19
+ case baEnum.PduType.SIMPLE_ACK:
20
+ case baEnum.PduType.COMPLEX_ACK:
21
+ case baEnum.PduType.ERROR:
22
+ case baEnum.PduType.REJECT:
23
+ case baEnum.PduType.ABORT:
21
24
  return buffer[offset + 1];
22
- case baEnum.PduTypes.CONFIRMED_REQUEST:
25
+ case baEnum.PduType.CONFIRMED_REQUEST:
23
26
  return buffer[offset + 2];
24
27
  default:
25
- return;
28
+ return undefined;
26
29
  }
27
30
  };
28
31
 
@@ -30,7 +33,7 @@ module.exports.encodeConfirmedServiceRequest = (buffer, type, service, maxSegmen
30
33
  buffer.buffer[buffer.offset++] = type;
31
34
  buffer.buffer[buffer.offset++] = maxSegments | maxApdu;
32
35
  buffer.buffer[buffer.offset++] = invokeId;
33
- if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
36
+ if ((type & baEnum.PduConReqBit.SEGMENTED_MESSAGE) > 0) {
34
37
  buffer.buffer[buffer.offset++] = sequencenumber;
35
38
  buffer.buffer[buffer.offset++] = proposedWindowSize;
36
39
  }
@@ -45,20 +48,20 @@ module.exports.decodeConfirmedServiceRequest = (buffer, offset) => {
45
48
  const invokeId = buffer[offset++];
46
49
  let sequencenumber = 0;
47
50
  let proposedWindowNumber = 0;
48
- if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
51
+ if ((type & baEnum.PduConReqBit.SEGMENTED_MESSAGE) > 0) {
49
52
  sequencenumber = buffer[offset++];
50
53
  proposedWindowNumber = buffer[offset++];
51
54
  }
52
55
  const service = buffer[offset++];
53
56
  return {
54
57
  len: offset - orgOffset,
55
- type: type,
56
- service: service,
57
- maxSegments: maxSegments,
58
- maxApdu: maxApdu,
59
- invokeId: invokeId,
60
- sequencenumber: sequencenumber,
61
- proposedWindowNumber: proposedWindowNumber
58
+ type,
59
+ service,
60
+ maxSegments,
61
+ maxApdu,
62
+ invokeId,
63
+ sequencenumber,
64
+ proposedWindowNumber
62
65
  };
63
66
  };
64
67
 
@@ -73,8 +76,8 @@ module.exports.decodeUnconfirmedServiceRequest = (buffer, offset) => {
73
76
  const service = buffer[offset++];
74
77
  return {
75
78
  len: offset - orgOffset,
76
- type: type,
77
- service: service
79
+ type,
80
+ service
78
81
  };
79
82
  };
80
83
 
@@ -91,9 +94,9 @@ module.exports.decodeSimpleAck = (buffer, offset) => {
91
94
  const service = buffer[offset++];
92
95
  return {
93
96
  len: offset - orgOffset,
94
- type: type,
95
- service: service,
96
- invokeId: invokeId
97
+ type,
98
+ service,
99
+ invokeId
97
100
  };
98
101
  };
99
102
 
@@ -101,7 +104,7 @@ module.exports.encodeComplexAck = (buffer, type, service, invokeId, sequencenumb
101
104
  let len = 3;
102
105
  buffer.buffer[buffer.offset++] = type;
103
106
  buffer.buffer[buffer.offset++] = invokeId;
104
- if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
107
+ if ((type & baEnum.PduConReqBit.SEGMENTED_MESSAGE) > 0) {
105
108
  buffer.buffer[buffer.offset++] = sequencenumber;
106
109
  buffer.buffer[buffer.offset++] = proposedWindowNumber;
107
110
  len += 2;
@@ -116,18 +119,18 @@ module.exports.decodeComplexAck = (buffer, offset) => {
116
119
  const invokeId = buffer[offset++];
117
120
  let sequencenumber = 0;
118
121
  let proposedWindowNumber = 0;
119
- if ((type & baEnum.PduConReqBits.SEGMENTED_MESSAGE) > 0) {
122
+ if ((type & baEnum.PduConReqBit.SEGMENTED_MESSAGE) > 0) {
120
123
  sequencenumber = buffer[offset++];
121
124
  proposedWindowNumber = buffer[offset++];
122
125
  }
123
126
  const service = buffer[offset++];
124
127
  return {
125
128
  len: offset - orgOffset,
126
- type: type,
127
- service: service,
128
- invokeId: invokeId,
129
- sequencenumber: sequencenumber,
130
- proposedWindowNumber: proposedWindowNumber
129
+ type,
130
+ service,
131
+ invokeId,
132
+ sequencenumber,
133
+ proposedWindowNumber
131
134
  };
132
135
  };
133
136
 
@@ -146,10 +149,24 @@ module.exports.decodeSegmentAck = (buffer, offset) => {
146
149
  const actualWindowSize = buffer[offset++];
147
150
  return {
148
151
  len: offset - orgOffset,
149
- type: type,
150
- originalInvokeId: originalInvokeId,
151
- sequencenumber: sequencenumber,
152
- actualWindowSize: actualWindowSize
152
+ type,
153
+ originalInvokeId,
154
+ sequencenumber,
155
+ actualWindowSize
156
+ };
157
+ };
158
+
159
+ module.exports.encodeResult = (buffer, /* BvlcResultFormat */ resultCode) => {
160
+ baAsn1.encodeUnsigned(buffer, resultCode, 2);
161
+ };
162
+
163
+ module.exports.decodeResult = (buffer, offset) => {
164
+ const orgOffset = offset;
165
+ const decode = baAsn1.decodeUnsigned(buffer, offset, 2);
166
+ offset += decode.len;
167
+ return {
168
+ len: offset - orgOffset,
169
+ resultCode: decode.value, // BvlcResultFormat
153
170
  };
154
171
  };
155
172
 
@@ -166,9 +183,9 @@ module.exports.decodeError = (buffer, offset) => {
166
183
  const service = buffer[offset++];
167
184
  return {
168
185
  len: offset - orgOffset,
169
- type: type,
170
- service: service,
171
- invokeId: invokeId
186
+ type,
187
+ service,
188
+ invokeId
172
189
  };
173
190
  };
174
191
 
@@ -185,8 +202,8 @@ module.exports.decodeAbort = (buffer, offset) => {
185
202
  const reason = buffer[offset++];
186
203
  return {
187
204
  len: offset - orgOffset,
188
- type: type,
189
- invokeId: invokeId,
190
- reason: reason
205
+ type,
206
+ invokeId,
207
+ reason
191
208
  };
192
209
  };