@bitpoolos/edge-bacnet 1.0.6 → 1.1.0

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 (181) hide show
  1. package/bacnet_client.js +650 -233
  2. package/bacnet_device.js +65 -16
  3. package/bacnet_gateway.html +242 -99
  4. package/bacnet_gateway.js +211 -27
  5. package/bacnet_object.js +1 -1
  6. package/bacnet_read.html +211 -133
  7. package/bacnet_read.js +24 -24
  8. package/bacnet_server.js +321 -0
  9. package/bacnet_write.html +24 -15
  10. package/bacnet_write.js +0 -2
  11. package/common.js +95 -9
  12. package/edge-bacnet-datastore.cfg +0 -0
  13. package/package.json +6 -4
  14. package/resources/confirmationservice.min.js +1 -0
  15. package/resources/confirmdialog.min.js +1 -0
  16. package/resources/fonts/primeicons.woff2 +0 -0
  17. package/resources/node-bacnet/CHANGELOG.md +481 -0
  18. package/resources/{bacstack → node-bacnet}/LICENSE.md +3 -1
  19. package/resources/node-bacnet/README.md +91 -0
  20. package/resources/node-bacnet/docs/Client.html +4422 -0
  21. package/resources/node-bacnet/docs/bacnet-icon-quad.png +0 -0
  22. package/resources/node-bacnet/docs/bacnet-icon-quad128.png +0 -0
  23. package/resources/node-bacnet/docs/bacnet-icon-quad64.png +0 -0
  24. package/resources/node-bacnet/docs/bacnet-icon-small.xcf +0 -0
  25. package/resources/node-bacnet/docs/bacnet-icon.xcf +0 -0
  26. package/resources/node-bacnet/docs/bacnet.html +7032 -0
  27. package/resources/node-bacnet/docs/client.js.html +1759 -0
  28. package/resources/node-bacnet/docs/enum.js.html +2530 -0
  29. package/resources/node-bacnet/docs/global.html +2068 -0
  30. package/resources/node-bacnet/docs/images/mocha-logo.svg +65 -0
  31. package/resources/node-bacnet/docs/index.html +283 -0
  32. package/resources/node-bacnet/docs/scripts/collapse.js +11 -0
  33. package/resources/node-bacnet/docs/scripts/jquery-3.1.1.min.js +4 -0
  34. package/resources/node-bacnet/docs/scripts/linenumber.js +26 -0
  35. package/resources/node-bacnet/docs/scripts/prettify/Apache-License-2.0.txt +202 -0
  36. package/resources/node-bacnet/docs/scripts/prettify/lang-css.js +2 -0
  37. package/resources/node-bacnet/docs/scripts/prettify/prettify.js +28 -0
  38. package/resources/node-bacnet/docs/scripts/search.js +47 -0
  39. package/resources/node-bacnet/docs/services_i-am.js.html +157 -0
  40. package/resources/node-bacnet/docs/services_time-sync.js.html +118 -0
  41. package/resources/node-bacnet/docs/services_who-is.js.html +138 -0
  42. package/resources/node-bacnet/docs/styles/jsdoc.css +683 -0
  43. package/resources/node-bacnet/docs/styles/prettify.css +82 -0
  44. package/resources/node-bacnet/examples/discover-devices.js +66 -0
  45. package/resources/node-bacnet/examples/read-device.js +510 -0
  46. package/resources/node-bacnet/examples/subscribe-cov.js +75 -0
  47. package/resources/{bacstack → node-bacnet}/index.js +3 -0
  48. package/resources/{bacstack → node-bacnet}/lib/apdu.js +56 -39
  49. package/resources/{bacstack → node-bacnet}/lib/asn1.js +550 -532
  50. package/resources/node-bacnet/lib/bvlc.js +90 -0
  51. package/resources/node-bacnet/lib/client.js +1695 -0
  52. package/resources/node-bacnet/lib/enum.js +2463 -0
  53. package/resources/node-bacnet/lib/npdu.js +123 -0
  54. package/resources/{bacstack → node-bacnet}/lib/services/add-list-element.js +12 -6
  55. package/resources/{bacstack → node-bacnet}/lib/services/alarm-acknowledge.js +3 -3
  56. package/resources/{bacstack → node-bacnet}/lib/services/alarm-summary.js +5 -4
  57. package/resources/{bacstack → node-bacnet}/lib/services/atomic-read-file.js +49 -26
  58. package/resources/{bacstack → node-bacnet}/lib/services/atomic-write-file.js +40 -23
  59. package/resources/{bacstack → node-bacnet}/lib/services/cov-notify.js +33 -17
  60. package/resources/{bacstack → node-bacnet}/lib/services/create-object.js +23 -13
  61. package/resources/{bacstack → node-bacnet}/lib/services/delete-object.js +7 -2
  62. package/resources/{bacstack → node-bacnet}/lib/services/device-communication-control.js +8 -3
  63. package/resources/{bacstack → node-bacnet}/lib/services/error.js +7 -0
  64. package/resources/{bacstack → node-bacnet}/lib/services/event-information.js +10 -9
  65. package/resources/{bacstack → node-bacnet}/lib/services/event-notify-data.js +38 -16
  66. package/resources/{bacstack → node-bacnet}/lib/services/get-enrollment-summary.js +24 -11
  67. package/resources/{bacstack → node-bacnet}/lib/services/get-event-information.js +28 -13
  68. package/resources/node-bacnet/lib/services/i-am.js +90 -0
  69. package/resources/{bacstack/lib/services/i-have-broadcast.js → node-bacnet/lib/services/i-have.js} +3 -2
  70. package/resources/{bacstack → node-bacnet}/lib/services/index.js +7 -4
  71. package/resources/{bacstack → node-bacnet}/lib/services/life-safety-operation.js +3 -2
  72. package/resources/{bacstack → node-bacnet}/lib/services/private-transfer.js +3 -2
  73. package/resources/{bacstack → node-bacnet}/lib/services/read-property-multiple.js +11 -6
  74. package/resources/{bacstack → node-bacnet}/lib/services/read-property.js +42 -24
  75. package/resources/{bacstack → node-bacnet}/lib/services/read-range.js +37 -27
  76. package/resources/node-bacnet/lib/services/register-foreign-device.js +18 -0
  77. package/resources/{bacstack → node-bacnet}/lib/services/reinitialize-device.js +9 -4
  78. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-cov.js +9 -4
  79. package/resources/{bacstack → node-bacnet}/lib/services/subscribe-property.js +18 -8
  80. package/resources/{bacstack → node-bacnet}/lib/services/time-sync.js +28 -5
  81. package/resources/{bacstack → node-bacnet}/lib/services/who-has.js +3 -3
  82. package/resources/{bacstack → node-bacnet}/lib/services/who-is.js +42 -9
  83. package/resources/{bacstack → node-bacnet}/lib/services/write-property-multiple.js +33 -16
  84. package/resources/{bacstack → node-bacnet}/lib/services/write-property.js +23 -13
  85. package/resources/node-bacnet/lib/transport.js +82 -0
  86. package/resources/node-bacnet/package.json +92 -0
  87. package/resources/primeicons.css +90 -2
  88. package/resources/bacstack/.codeclimate.yml +0 -15
  89. package/resources/bacstack/.dockerignore +0 -5
  90. package/resources/bacstack/.editorconfig +0 -13
  91. package/resources/bacstack/.eslintrc.yml +0 -13
  92. package/resources/bacstack/.github/ISSUE_TEMPLATE.md +0 -26
  93. package/resources/bacstack/.github/PULL_REQUEST_TEMPLATE.md +0 -14
  94. package/resources/bacstack/.github/workflows/ci.yml +0 -39
  95. package/resources/bacstack/.jscsrc +0 -8
  96. package/resources/bacstack/.jshintrc +0 -50
  97. package/resources/bacstack/.travis.yml +0 -27
  98. package/resources/bacstack/CHANGELOG.md +0 -232
  99. package/resources/bacstack/CODE_OF_CONDUCT.md +0 -74
  100. package/resources/bacstack/CONTRIBUTING.md +0 -77
  101. package/resources/bacstack/Dockerfile +0 -15
  102. package/resources/bacstack/FAQ.md +0 -64
  103. package/resources/bacstack/README.md +0 -157
  104. package/resources/bacstack/docker-compose.yml +0 -9
  105. package/resources/bacstack/lib/adpu.js +0 -190
  106. package/resources/bacstack/lib/bvlc.js +0 -43
  107. package/resources/bacstack/lib/client.js +0 -1028
  108. package/resources/bacstack/lib/enum.js +0 -1314
  109. package/resources/bacstack/lib/npdu.js +0 -119
  110. package/resources/bacstack/lib/services/i-am-broadcast.js +0 -51
  111. package/resources/bacstack/lib/services.js +0 -1963
  112. package/resources/bacstack/lib/transport.js +0 -52
  113. package/resources/bacstack/package-lock.json +0 -7974
  114. package/resources/bacstack/package.json +0 -84
  115. package/resources/bacstack/test/compliance/who-is.spec.js +0 -37
  116. package/resources/bacstack/test/integration/acknowledge-alarm.spec.js +0 -14
  117. package/resources/bacstack/test/integration/add-list-element.spec.js +0 -16
  118. package/resources/bacstack/test/integration/confirmed-event-notification.spec.js +0 -30
  119. package/resources/bacstack/test/integration/confirmed-private-transfer.spec.js +0 -15
  120. package/resources/bacstack/test/integration/create-object.spec.js +0 -16
  121. package/resources/bacstack/test/integration/delete-object.spec.js +0 -14
  122. package/resources/bacstack/test/integration/device-communication-control.spec.js +0 -14
  123. package/resources/bacstack/test/integration/get-alarm-summary.spec.js +0 -14
  124. package/resources/bacstack/test/integration/get-enrollment-summary.spec.js +0 -15
  125. package/resources/bacstack/test/integration/get-event-information.spec.js +0 -14
  126. package/resources/bacstack/test/integration/read-file.spec.js +0 -14
  127. package/resources/bacstack/test/integration/read-property-multiple.spec.js +0 -110
  128. package/resources/bacstack/test/integration/read-property.spec.js +0 -14
  129. package/resources/bacstack/test/integration/read-range.spec.js +0 -14
  130. package/resources/bacstack/test/integration/reinitialize-sevice.spec.js +0 -14
  131. package/resources/bacstack/test/integration/remove-list-element.spec.js +0 -16
  132. package/resources/bacstack/test/integration/subscribe-cov.spec.js +0 -14
  133. package/resources/bacstack/test/integration/subscribe-property.spec.js +0 -14
  134. package/resources/bacstack/test/integration/time-sync-utc.spec.js +0 -10
  135. package/resources/bacstack/test/integration/time-sync.spec.js +0 -10
  136. package/resources/bacstack/test/integration/unconfirmed-event-notification.spec.js +0 -28
  137. package/resources/bacstack/test/integration/unconfirmed-private-transfer.spec.js +0 -11
  138. package/resources/bacstack/test/integration/utils.js +0 -30
  139. package/resources/bacstack/test/integration/who-is.spec.js +0 -17
  140. package/resources/bacstack/test/integration/write-file.spec.js +0 -14
  141. package/resources/bacstack/test/integration/write-property-multiple.spec.js +0 -19
  142. package/resources/bacstack/test/integration/write-property.spec.js +0 -14
  143. package/resources/bacstack/test/unit/apdu.spec.js +0 -162
  144. package/resources/bacstack/test/unit/asn1.spec.js +0 -39
  145. package/resources/bacstack/test/unit/bacnet-apdu.spec.js +0 -161
  146. package/resources/bacstack/test/unit/bacnet-asn1.spec.js +0 -32
  147. package/resources/bacstack/test/unit/bacnet-bvlc.spec.js +0 -57
  148. package/resources/bacstack/test/unit/bacnet-npdu.spec.js +0 -118
  149. package/resources/bacstack/test/unit/bacnet-services.spec.js +0 -2052
  150. package/resources/bacstack/test/unit/bvlc.spec.js +0 -58
  151. package/resources/bacstack/test/unit/npdu.spec.js +0 -119
  152. package/resources/bacstack/test/unit/service-add-list-element.spec.js +0 -24
  153. package/resources/bacstack/test/unit/service-alarm-acknowledge.spec.js +0 -71
  154. package/resources/bacstack/test/unit/service-alarm-summary.spec.js +0 -22
  155. package/resources/bacstack/test/unit/service-atomic-read-file.spec.js +0 -54
  156. package/resources/bacstack/test/unit/service-atomic-write-file.spec.js +0 -56
  157. package/resources/bacstack/test/unit/service-cov-notify.spec.js +0 -98
  158. package/resources/bacstack/test/unit/service-create-object.spec.js +0 -90
  159. package/resources/bacstack/test/unit/service-delete-object.spec.js +0 -17
  160. package/resources/bacstack/test/unit/service-device-communication-control.spec.js +0 -29
  161. package/resources/bacstack/test/unit/service-error.spec.js +0 -17
  162. package/resources/bacstack/test/unit/service-event-information.spec.js +0 -48
  163. package/resources/bacstack/test/unit/service-event-notify-data.spec.js +0 -310
  164. package/resources/bacstack/test/unit/service-get-enrollment-summary.spec.js +0 -45
  165. package/resources/bacstack/test/unit/service-get-event-information.spec.js +0 -62
  166. package/resources/bacstack/test/unit/service-i-am.spec.js +0 -19
  167. package/resources/bacstack/test/unit/service-i-have-broadcast.spec.js +0 -18
  168. package/resources/bacstack/test/unit/service-life-safety-operation.spec.js +0 -19
  169. package/resources/bacstack/test/unit/service-private-transfer.spec.js +0 -18
  170. package/resources/bacstack/test/unit/service-read-property-multiple.spec.js +0 -131
  171. package/resources/bacstack/test/unit/service-read-property.spec.js +0 -541
  172. package/resources/bacstack/test/unit/service-read-range.spec.js +0 -97
  173. package/resources/bacstack/test/unit/service-reinitialize-device.spec.js +0 -27
  174. package/resources/bacstack/test/unit/service-subscribe-cov.spec.js +0 -32
  175. package/resources/bacstack/test/unit/service-subscribe-property.spec.js +0 -50
  176. package/resources/bacstack/test/unit/service-time-sync.spec.js +0 -18
  177. package/resources/bacstack/test/unit/service-who-has.spec.js +0 -33
  178. package/resources/bacstack/test/unit/service-who-is.spec.js +0 -17
  179. package/resources/bacstack/test/unit/service-write-property-multiple.spec.js +0 -143
  180. package/resources/bacstack/test/unit/service-write-property.spec.js +0 -198
  181. package/resources/bacstack/test/unit/utils.js +0 -6
@@ -1,50 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer SubscribeProperty unit', () => {
7
- it('should successfully encode and decode with cancellation request', () => {
8
- const buffer = utils.getBuffer();
9
- baServices.subscribeProperty.encode(buffer, 7, {type: 148, instance: 362}, true, false, 1, {id: 85, index: 0xFFFFFFFF}, true, 1);
10
- const result = baServices.subscribeProperty.decode(buffer.buffer, 0);
11
- delete result.len;
12
- expect(result).toEqual({
13
- cancellationRequest: true,
14
- covIncrement: 1,
15
- issueConfirmedNotifications: false,
16
- lifetime: 0,
17
- monitoredObjectId: {
18
- instance: 362,
19
- type: 148
20
- },
21
- monitoredProperty: {
22
- index: 4294967295,
23
- id: 85
24
- },
25
- subscriberProcessId: 7
26
- });
27
- });
28
-
29
- it('should successfully encode and decode without cancellation request', () => {
30
- const buffer = utils.getBuffer();
31
- baServices.subscribeProperty.encode(buffer, 8, {type: 149, instance: 363}, false, true, 2, {id: 86, index: 3}, false, 10);
32
- const result = baServices.subscribeProperty.decode(buffer.buffer, 0);
33
- delete result.len;
34
- expect(result).toEqual({
35
- cancellationRequest: false,
36
- covIncrement: 0,
37
- issueConfirmedNotifications: true,
38
- lifetime: 2,
39
- monitoredObjectId: {
40
- instance: 363,
41
- type: 149
42
- },
43
- monitoredProperty: {
44
- index: 3,
45
- id: 86
46
- },
47
- subscriberProcessId: 8
48
- });
49
- });
50
- });
@@ -1,18 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer TimeSync unit', () => {
7
- it('should successfully encode and decode', () => {
8
- const buffer = utils.getBuffer();
9
- const date = new Date();
10
- date.setMilliseconds(990);
11
- baServices.timeSync.encode(buffer, date);
12
- const result = baServices.timeSync.decode(buffer.buffer, 0, buffer.offset);
13
- delete result.len;
14
- expect(result).toEqual({
15
- value: date
16
- });
17
- });
18
- });
@@ -1,33 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer WhoHas unit', () => {
7
- it('should successfully encode and decode by id', () => {
8
- const buffer = utils.getBuffer();
9
- baServices.whoHas.encode(buffer, 3, 4000, {type: 3, instance: 15});
10
- const result = baServices.whoHas.decode(buffer.buffer, 0, buffer.offset);
11
- delete result.len;
12
- expect(result).toEqual({
13
- lowLimit: 3,
14
- highLimit: 4000,
15
- objectId: {
16
- type: 3,
17
- instance: 15
18
- }
19
- });
20
- });
21
-
22
- it('should successfully encode and decode by name', () => {
23
- const buffer = utils.getBuffer();
24
- baServices.whoHas.encode(buffer, 3, 4000, {}, 'analog-output-1');
25
- const result = baServices.whoHas.decode(buffer.buffer, 0, buffer.offset);
26
- delete result.len;
27
- expect(result).toEqual({
28
- lowLimit: 3,
29
- highLimit: 4000,
30
- objectName: 'analog-output-1'
31
- });
32
- });
33
- });
@@ -1,17 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer WhoIs unit', () => {
7
- it('should successfully encode and decode', () => {
8
- const buffer = utils.getBuffer();
9
- baServices.whoIs.encode(buffer, 1, 3000);
10
- const result = baServices.whoIs.decode(buffer.buffer, 0, buffer.offset);
11
- delete result.len;
12
- expect(result).toEqual({
13
- lowLimit: 1,
14
- highLimit: 3000
15
- });
16
- });
17
- });
@@ -1,143 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer WritePropertyMultiple unit', () => {
7
- it('should successfully encode and decode', () => {
8
- const buffer = utils.getBuffer();
9
- const date = new Date(1, 1, 1);
10
- const time = new Date(1, 1, 1);
11
- time.setMilliseconds(990);
12
- baServices.writePropertyMultiple.encode(buffer, {type: 39, instance: 2400}, [
13
- {property: {id: 81, index: 0xFFFFFFFF}, value: [
14
- {type: 0, value: null},
15
- {type: 0, value: null},
16
- {type: 1, value: true},
17
- {type: 1, value: false},
18
- {type: 2, value: 1},
19
- {type: 2, value: 1000},
20
- {type: 2, value: 1000000},
21
- {type: 2, value: 1000000000},
22
- {type: 3, value: -1},
23
- {type: 3, value: -1000},
24
- {type: 3, value: -1000000},
25
- {type: 3, value: -1000000000},
26
- {type: 4, value: 0.1},
27
- {type: 5, value: 100.121212},
28
- {type: 6, value: [1, 2, 100, 200]},
29
- {type: 7, value: 'Test1234$'},
30
- {type: 8, value: {bitsUsed: 0, value: []}},
31
- {type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
32
- {type: 9, value: 4},
33
- {type: 10, value: date},
34
- {type: 11, value: time},
35
- {type: 12, value: {type: 3, instance: 0}}
36
- ], priority: 0}
37
- ]);
38
- const result = baServices.writePropertyMultiple.decode(buffer.buffer, 0, buffer.offset);
39
- delete result.len;
40
- result.values[0].value[12].value = Math.floor(result.values[0].value[12].value * 1000) / 1000;
41
- expect(result).toEqual({
42
- objectId: {
43
- type: 39,
44
- instance: 2400
45
- },
46
- values: [
47
- {
48
- priority: 0,
49
- property: {
50
- index: 0xFFFFFFFF,
51
- id: 81
52
- },
53
- value: [
54
- {type: 0, value: null},
55
- {type: 0, value: null},
56
- {type: 1, value: true},
57
- {type: 1, value: false},
58
- {type: 2, value: 1},
59
- {type: 2, value: 1000},
60
- {type: 2, value: 1000000},
61
- {type: 2, value: 1000000000},
62
- {type: 3, value: -1},
63
- {type: 3, value: -1000},
64
- {type: 3, value: -1000000},
65
- {type: 3, value: -1000000000},
66
- {type: 4, value: 0.1},
67
- {type: 5, value: 100.121212},
68
- {type: 6, value: [1, 2, 100, 200]},
69
- {type: 7, value: 'Test1234$', encoding: 0},
70
- {type: 8, value: {bitsUsed: 0, value: []}},
71
- {type: 8, value: {bitsUsed: 24, value: [0xAA, 0xAA, 0xAA]}},
72
- {type: 9, value: 4},
73
- {type: 10, value: date},
74
- {type: 11, value: time},
75
- {type: 12, value: {type: 3, instance: 0}}
76
- ]
77
- }
78
- ]
79
- });
80
- });
81
-
82
- it('should successfully encode and decode with defined priority', () => {
83
- const buffer = utils.getBuffer();
84
- const time = new Date(1, 1, 1);
85
- time.setMilliseconds(990);
86
- baServices.writePropertyMultiple.encode(buffer, {type: 39, instance: 2400}, [
87
- {property: {id: 81, index: 0xFFFFFFFF}, value: [
88
- {type: 7, value: 'Test1234$'}
89
- ], priority: 12}
90
- ]);
91
- const result = baServices.writePropertyMultiple.decode(buffer.buffer, 0, buffer.offset);
92
- delete result.len;
93
- expect(result).toEqual({
94
- objectId: {
95
- type: 39,
96
- instance: 2400
97
- },
98
- values: [
99
- {
100
- priority: 12,
101
- property: {
102
- index: 0xFFFFFFFF,
103
- id: 81
104
- },
105
- value: [
106
- {type: 7, value: 'Test1234$', encoding: 0}
107
- ]
108
- }
109
- ]
110
- });
111
- });
112
-
113
- it('should successfully encode and decode with defined array index', () => {
114
- const buffer = utils.getBuffer();
115
- const time = new Date(1, 1, 1);
116
- time.setMilliseconds(990);
117
- baServices.writePropertyMultiple.encode(buffer, {type: 39, instance: 2400}, [
118
- {property: {id: 81, index: 414141}, value: [
119
- {type: 7, value: 'Test1234$'}
120
- ], priority: 0}
121
- ]);
122
- const result = baServices.writePropertyMultiple.decode(buffer.buffer, 0, buffer.offset);
123
- delete result.len;
124
- expect(result).toEqual({
125
- objectId: {
126
- type: 39,
127
- instance: 2400
128
- },
129
- values: [
130
- {
131
- priority: 0,
132
- property: {
133
- index: 414141,
134
- id: 81
135
- },
136
- value: [
137
- {type: 7, value: 'Test1234$', encoding: 0}
138
- ]
139
- }
140
- ]
141
- });
142
- });
143
- });
@@ -1,198 +0,0 @@
1
- 'use strict';
2
-
3
- const utils = require('./utils');
4
- const baServices = require('../../lib/services');
5
-
6
- describe('bacstack - Services layer WriteProperty unit', () => {
7
- it('should successfully encode and decode', () => {
8
- const buffer = utils.getBuffer();
9
- const date = new Date(1, 1, 1);
10
- const time = new Date(1, 1, 1);
11
- time.setMilliseconds(990);
12
- baServices.writeProperty.encode(buffer, 31, 12, 80, 0xFFFFFFFF, 0, [
13
- {type: 0},
14
- {type: 1, value: null},
15
- {type: 1, value: true},
16
- {type: 1, value: false},
17
- {type: 2, value: 1},
18
- {type: 2, value: 1000},
19
- {type: 2, value: 1000000},
20
- {type: 2, value: 1000000000},
21
- {type: 3, value: -1},
22
- {type: 3, value: -1000},
23
- {type: 3, value: -1000000},
24
- {type: 3, value: -1000000000},
25
- {type: 4, value: 0},
26
- {type: 5, value: 100.121212},
27
- {type: 7, value: 'Test1234$'},
28
- {type: 9, value: 4},
29
- {type: 10, value: date},
30
- {type: 11, value: time},
31
- {type: 12, value: {type: 3, instance: 0}}
32
- ]);
33
- const result = baServices.writeProperty.decode(buffer.buffer, 0, buffer.offset);
34
- delete result.len;
35
- expect(result).toEqual({
36
- objectId: {
37
- instance: 12,
38
- type: 31
39
- },
40
- value: {
41
- priority: 16,
42
- property: {
43
- index: 4294967295,
44
- id: 80
45
- },
46
- value: [
47
- {type: 0, value: null},
48
- {type: 0, value: null},
49
- {type: 1, value: true},
50
- {type: 1, value: false},
51
- {type: 2, value: 1},
52
- {type: 2, value: 1000},
53
- {type: 2, value: 1000000},
54
- {type: 2, value: 1000000000},
55
- {type: 3, value: -1},
56
- {type: 3, value: -1000},
57
- {type: 3, value: -1000000},
58
- {type: 3, value: -1000000000},
59
- {type: 4, value: 0},
60
- {type: 5, value: 100.121212},
61
- {type: 7, value: 'Test1234$', encoding: 0},
62
- {type: 9, value: 4},
63
- {type: 10, value: date},
64
- {type: 11, value: time},
65
- {type: 12, value: {type: 3, instance: 0}}
66
- ]
67
- }
68
- });
69
- });
70
-
71
- it('should successfully encode and decode with defined priority', () => {
72
- const buffer = utils.getBuffer();
73
- const date = new Date(1, 1, 1);
74
- const time = new Date(1, 1, 1);
75
- time.setMilliseconds(990);
76
- baServices.writeProperty.encode(buffer, 31, 12, 80, 0xFFFFFFFF, 8, [
77
- {type: 0},
78
- {type: 1, value: null},
79
- {type: 1, value: true},
80
- {type: 1, value: false},
81
- {type: 2, value: 1},
82
- {type: 2, value: 1000},
83
- {type: 2, value: 1000000},
84
- {type: 2, value: 1000000000},
85
- {type: 3, value: -1},
86
- {type: 3, value: -1000},
87
- {type: 3, value: -1000000},
88
- {type: 3, value: -1000000000},
89
- {type: 4, value: 0},
90
- {type: 5, value: 100.121212},
91
- {type: 7, value: 'Test1234$'},
92
- {type: 9, value: 4},
93
- {type: 10, value: date},
94
- {type: 11, value: time},
95
- {type: 12, value: {type: 3, instance: 0}}
96
- ]);
97
- const result = baServices.writeProperty.decode(buffer.buffer, 0, buffer.offset);
98
- delete result.len;
99
- expect(result).toEqual({
100
- objectId: {
101
- instance: 12,
102
- type: 31
103
- },
104
- value: {
105
- priority: 8,
106
- property: {
107
- index: 4294967295,
108
- id: 80
109
- },
110
- value: [
111
- {type: 0, value: null},
112
- {type: 0, value: null},
113
- {type: 1, value: true},
114
- {type: 1, value: false},
115
- {type: 2, value: 1},
116
- {type: 2, value: 1000},
117
- {type: 2, value: 1000000},
118
- {type: 2, value: 1000000000},
119
- {type: 3, value: -1},
120
- {type: 3, value: -1000},
121
- {type: 3, value: -1000000},
122
- {type: 3, value: -1000000000},
123
- {type: 4, value: 0},
124
- {type: 5, value: 100.121212},
125
- {type: 7, value: 'Test1234$', encoding: 0},
126
- {type: 9, value: 4},
127
- {type: 10, value: date},
128
- {type: 11, value: time},
129
- {type: 12, value: {type: 3, instance: 0}}
130
- ]
131
- }
132
- });
133
- });
134
-
135
- it('should successfully encode and decode with defined array index', () => {
136
- const buffer = utils.getBuffer();
137
- const date = new Date(1, 1, 1);
138
- const time = new Date(1, 1, 1);
139
- time.setMilliseconds(990);
140
- baServices.writeProperty.encode(buffer, 31, 12, 80, 2, 0, [
141
- {type: 0, value: null},
142
- {type: 0, value: null},
143
- {type: 1, value: true},
144
- {type: 1, value: false},
145
- {type: 2, value: 1},
146
- {type: 2, value: 1000},
147
- {type: 2, value: 1000000},
148
- {type: 2, value: 1000000000},
149
- {type: 3, value: -1},
150
- {type: 3, value: -1000},
151
- {type: 3, value: -1000000},
152
- {type: 3, value: -1000000000},
153
- {type: 4, value: 0},
154
- {type: 5, value: 100.121212},
155
- {type: 7, value: 'Test1234$', encoding: 0},
156
- {type: 9, value: 4},
157
- {type: 10, value: date},
158
- {type: 11, value: time},
159
- {type: 12, value: {type: 3, instance: 0}}
160
- ]);
161
- const result = baServices.writeProperty.decode(buffer.buffer, 0, buffer.offset);
162
- delete result.len;
163
- expect(result).toEqual({
164
- objectId: {
165
- instance: 12,
166
- type: 31
167
- },
168
- value: {
169
- priority: 16,
170
- property: {
171
- index: 2,
172
- id: 80
173
- },
174
- value: [
175
- {type: 0, value: null},
176
- {type: 0, value: null},
177
- {type: 1, value: true},
178
- {type: 1, value: false},
179
- {type: 2, value: 1},
180
- {type: 2, value: 1000},
181
- {type: 2, value: 1000000},
182
- {type: 2, value: 1000000000},
183
- {type: 3, value: -1},
184
- {type: 3, value: -1000},
185
- {type: 3, value: -1000000},
186
- {type: 3, value: -1000000000},
187
- {type: 4, value: 0},
188
- {type: 5, value: 100.121212},
189
- {type: 7, value: 'Test1234$', encoding: 0},
190
- {type: 9, value: 4},
191
- {type: 10, value: date},
192
- {type: 11, value: time},
193
- {type: 12, value: {type: 3, instance: 0}}
194
- ]
195
- }
196
- });
197
- });
198
- });
@@ -1,6 +0,0 @@
1
- module.exports.getBuffer = function() {
2
- return {
3
- buffer: Buffer.alloc(1482),
4
- offset: 0
5
- };
6
- };