zwave-js 11.0.0 → 11.2.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 (158) hide show
  1. package/build/lib/controller/Controller.d.ts +86 -3
  2. package/build/lib/controller/Controller.d.ts.map +1 -1
  3. package/build/lib/controller/Controller.js +391 -164
  4. package/build/lib/controller/Controller.js.map +1 -1
  5. package/build/lib/controller/Features.js +1 -1
  6. package/build/lib/controller/Features.js.map +1 -1
  7. package/build/lib/controller/Inclusion.js +6 -6
  8. package/build/lib/controller/Inclusion.js.map +1 -1
  9. package/build/lib/controller/MockControllerBehaviors.d.ts.map +1 -1
  10. package/build/lib/controller/MockControllerBehaviors.js +3 -2
  11. package/build/lib/controller/MockControllerBehaviors.js.map +1 -1
  12. package/build/lib/controller/MockControllerState.js +2 -2
  13. package/build/lib/controller/MockControllerState.js.map +1 -1
  14. package/build/lib/controller/NodeInformationFrame.d.ts.map +1 -1
  15. package/build/lib/controller/NodeInformationFrame.js +6 -1
  16. package/build/lib/controller/NodeInformationFrame.js.map +1 -1
  17. package/build/lib/controller/ZWaveSDKVersions.js +1 -1
  18. package/build/lib/controller/ZWaveSDKVersions.js.map +1 -1
  19. package/build/lib/controller/_Types.js +1 -1
  20. package/build/lib/controller/_Types.js.map +1 -1
  21. package/build/lib/driver/Bootloader.js +1 -1
  22. package/build/lib/driver/Bootloader.js.map +1 -1
  23. package/build/lib/driver/Driver.d.ts +44 -12
  24. package/build/lib/driver/Driver.d.ts.map +1 -1
  25. package/build/lib/driver/Driver.js +495 -207
  26. package/build/lib/driver/Driver.js.map +1 -1
  27. package/build/lib/driver/MessageGenerators.d.ts.map +1 -1
  28. package/build/lib/driver/MessageGenerators.js +4 -11
  29. package/build/lib/driver/MessageGenerators.js.map +1 -1
  30. package/build/lib/driver/NetworkCache.d.ts +5 -0
  31. package/build/lib/driver/NetworkCache.d.ts.map +1 -1
  32. package/build/lib/driver/NetworkCache.js +5 -0
  33. package/build/lib/driver/NetworkCache.js.map +1 -1
  34. package/build/lib/driver/SerialAPICommandMachine.d.ts +17 -11
  35. package/build/lib/driver/SerialAPICommandMachine.d.ts.map +1 -1
  36. package/build/lib/driver/SerialAPICommandMachine.js +16 -6
  37. package/build/lib/driver/SerialAPICommandMachine.js.map +1 -1
  38. package/build/lib/driver/StateMachineShared.d.ts +27 -52
  39. package/build/lib/driver/StateMachineShared.d.ts.map +1 -1
  40. package/build/lib/driver/StateMachineShared.js +16 -48
  41. package/build/lib/driver/StateMachineShared.js.map +1 -1
  42. package/build/lib/node/Node.d.ts +11 -0
  43. package/build/lib/node/Node.d.ts.map +1 -1
  44. package/build/lib/node/Node.js +223 -8
  45. package/build/lib/node/Node.js.map +1 -1
  46. package/build/lib/node/NodeReadyMachine.d.ts +2 -2
  47. package/build/lib/node/NodeReadyMachine.d.ts.map +1 -1
  48. package/build/lib/node/NodeReadyMachine.js.map +1 -1
  49. package/build/lib/node/NodeStatusMachine.d.ts +2 -2
  50. package/build/lib/node/NodeStatusMachine.d.ts.map +1 -1
  51. package/build/lib/node/NodeStatusMachine.js.map +1 -1
  52. package/build/lib/serialapi/_Types.js +1 -1
  53. package/build/lib/serialapi/_Types.js.map +1 -1
  54. package/build/lib/serialapi/application/ApplicationCommandRequest.js +3 -4
  55. package/build/lib/serialapi/application/ApplicationCommandRequest.js.map +1 -1
  56. package/build/lib/serialapi/application/ApplicationUpdateRequest.js +13 -21
  57. package/build/lib/serialapi/application/ApplicationUpdateRequest.js.map +1 -1
  58. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.js +2 -3
  59. package/build/lib/serialapi/application/BridgeApplicationCommandRequest.js.map +1 -1
  60. package/build/lib/serialapi/application/SerialAPIStartedRequest.js +3 -4
  61. package/build/lib/serialapi/application/SerialAPIStartedRequest.js.map +1 -1
  62. package/build/lib/serialapi/application/ShutdownMessages.js +4 -6
  63. package/build/lib/serialapi/application/ShutdownMessages.js.map +1 -1
  64. package/build/lib/serialapi/capability/GetControllerCapabilitiesMessages.js +4 -6
  65. package/build/lib/serialapi/capability/GetControllerCapabilitiesMessages.js.map +1 -1
  66. package/build/lib/serialapi/capability/GetControllerVersionMessages.js +4 -6
  67. package/build/lib/serialapi/capability/GetControllerVersionMessages.js.map +1 -1
  68. package/build/lib/serialapi/capability/GetProtocolVersionMessages.js +4 -6
  69. package/build/lib/serialapi/capability/GetProtocolVersionMessages.js.map +1 -1
  70. package/build/lib/serialapi/capability/GetSerialApiCapabilitiesMessages.js +4 -6
  71. package/build/lib/serialapi/capability/GetSerialApiCapabilitiesMessages.js.map +1 -1
  72. package/build/lib/serialapi/capability/GetSerialApiInitDataMessages.js +4 -6
  73. package/build/lib/serialapi/capability/GetSerialApiInitDataMessages.js.map +1 -1
  74. package/build/lib/serialapi/capability/HardResetRequest.js +4 -6
  75. package/build/lib/serialapi/capability/HardResetRequest.js.map +1 -1
  76. package/build/lib/serialapi/capability/SerialAPISetupMessages.js +59 -88
  77. package/build/lib/serialapi/capability/SerialAPISetupMessages.js.map +1 -1
  78. package/build/lib/serialapi/capability/SetApplicationNodeInformationRequest.js +2 -3
  79. package/build/lib/serialapi/capability/SetApplicationNodeInformationRequest.js.map +1 -1
  80. package/build/lib/serialapi/memory/GetControllerIdMessages.js +4 -6
  81. package/build/lib/serialapi/memory/GetControllerIdMessages.js.map +1 -1
  82. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.js +4 -6
  83. package/build/lib/serialapi/misc/GetBackgroundRSSIMessages.js.map +1 -1
  84. package/build/lib/serialapi/misc/SetRFReceiveModeMessages.js +4 -6
  85. package/build/lib/serialapi/misc/SetRFReceiveModeMessages.js.map +1 -1
  86. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.js +4 -6
  87. package/build/lib/serialapi/misc/SetSerialApiTimeoutsMessages.js.map +1 -1
  88. package/build/lib/serialapi/misc/SoftResetRequest.js +2 -3
  89. package/build/lib/serialapi/misc/SoftResetRequest.js.map +1 -1
  90. package/build/lib/serialapi/network-mgmt/AddNodeToNetworkRequest.js +6 -8
  91. package/build/lib/serialapi/network-mgmt/AddNodeToNetworkRequest.js.map +1 -1
  92. package/build/lib/serialapi/network-mgmt/AssignPriorityReturnRouteMessages.js +6 -9
  93. package/build/lib/serialapi/network-mgmt/AssignPriorityReturnRouteMessages.js.map +1 -1
  94. package/build/lib/serialapi/network-mgmt/AssignPrioritySUCReturnRouteMessages.js +6 -9
  95. package/build/lib/serialapi/network-mgmt/AssignPrioritySUCReturnRouteMessages.js.map +1 -1
  96. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.js +6 -9
  97. package/build/lib/serialapi/network-mgmt/AssignReturnRouteMessages.js.map +1 -1
  98. package/build/lib/serialapi/network-mgmt/AssignSUCReturnRouteMessages.js +6 -9
  99. package/build/lib/serialapi/network-mgmt/AssignSUCReturnRouteMessages.js.map +1 -1
  100. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.js +6 -9
  101. package/build/lib/serialapi/network-mgmt/DeleteReturnRouteMessages.js.map +1 -1
  102. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.js +6 -9
  103. package/build/lib/serialapi/network-mgmt/DeleteSUCReturnRouteMessages.js.map +1 -1
  104. package/build/lib/serialapi/network-mgmt/GetNodeProtocolInfoMessages.js +4 -6
  105. package/build/lib/serialapi/network-mgmt/GetNodeProtocolInfoMessages.js.map +1 -1
  106. package/build/lib/serialapi/network-mgmt/GetPriorityRouteMessages.js +4 -6
  107. package/build/lib/serialapi/network-mgmt/GetPriorityRouteMessages.js.map +1 -1
  108. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js +4 -6
  109. package/build/lib/serialapi/network-mgmt/GetRoutingInfoMessages.js.map +1 -1
  110. package/build/lib/serialapi/network-mgmt/GetSUCNodeIdMessages.js +4 -6
  111. package/build/lib/serialapi/network-mgmt/GetSUCNodeIdMessages.js.map +1 -1
  112. package/build/lib/serialapi/network-mgmt/IsFailedNodeMessages.js +4 -6
  113. package/build/lib/serialapi/network-mgmt/IsFailedNodeMessages.js.map +1 -1
  114. package/build/lib/serialapi/network-mgmt/RemoveFailedNodeMessages.js +8 -11
  115. package/build/lib/serialapi/network-mgmt/RemoveFailedNodeMessages.js.map +1 -1
  116. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.js +6 -8
  117. package/build/lib/serialapi/network-mgmt/RemoveNodeFromNetworkRequest.js.map +1 -1
  118. package/build/lib/serialapi/network-mgmt/ReplaceFailedNodeRequest.js +8 -11
  119. package/build/lib/serialapi/network-mgmt/ReplaceFailedNodeRequest.js.map +1 -1
  120. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js +4 -6
  121. package/build/lib/serialapi/network-mgmt/RequestNodeInfoMessages.js.map +1 -1
  122. package/build/lib/serialapi/network-mgmt/RequestNodeNeighborUpdateMessages.js +5 -7
  123. package/build/lib/serialapi/network-mgmt/RequestNodeNeighborUpdateMessages.js.map +1 -1
  124. package/build/lib/serialapi/network-mgmt/SetPriorityRouteMessages.js +4 -6
  125. package/build/lib/serialapi/network-mgmt/SetPriorityRouteMessages.js.map +1 -1
  126. package/build/lib/serialapi/network-mgmt/SetSUCNodeIDMessages.js +7 -10
  127. package/build/lib/serialapi/network-mgmt/SetSUCNodeIDMessages.js.map +1 -1
  128. package/build/lib/serialapi/nvm/ExtNVMReadLongBufferMessages.js +4 -6
  129. package/build/lib/serialapi/nvm/ExtNVMReadLongBufferMessages.js.map +1 -1
  130. package/build/lib/serialapi/nvm/ExtNVMReadLongByteMessages.js +4 -6
  131. package/build/lib/serialapi/nvm/ExtNVMReadLongByteMessages.js.map +1 -1
  132. package/build/lib/serialapi/nvm/ExtNVMWriteLongBufferMessages.js +4 -6
  133. package/build/lib/serialapi/nvm/ExtNVMWriteLongBufferMessages.js.map +1 -1
  134. package/build/lib/serialapi/nvm/ExtNVMWriteLongByteMessages.js +4 -6
  135. package/build/lib/serialapi/nvm/ExtNVMWriteLongByteMessages.js.map +1 -1
  136. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js +29 -43
  137. package/build/lib/serialapi/nvm/FirmwareUpdateNVMMessages.js.map +1 -1
  138. package/build/lib/serialapi/nvm/GetNVMIdMessages.js +6 -8
  139. package/build/lib/serialapi/nvm/GetNVMIdMessages.js.map +1 -1
  140. package/build/lib/serialapi/nvm/NVMOperationsMessages.js +6 -8
  141. package/build/lib/serialapi/nvm/NVMOperationsMessages.js.map +1 -1
  142. package/build/lib/serialapi/transport/SendDataBridgeMessages.js +12 -18
  143. package/build/lib/serialapi/transport/SendDataBridgeMessages.js.map +1 -1
  144. package/build/lib/serialapi/transport/SendDataMessages.js +14 -21
  145. package/build/lib/serialapi/transport/SendDataMessages.js.map +1 -1
  146. package/package.json +17 -16
  147. package/build/lib/driver/CommandQueueMachine.d.ts +0 -60
  148. package/build/lib/driver/CommandQueueMachine.d.ts.map +0 -1
  149. package/build/lib/driver/CommandQueueMachine.js +0 -259
  150. package/build/lib/driver/CommandQueueMachine.js.map +0 -1
  151. package/build/lib/driver/SendThreadMachine.d.ts +0 -97
  152. package/build/lib/driver/SendThreadMachine.d.ts.map +0 -1
  153. package/build/lib/driver/SendThreadMachine.js +0 -286
  154. package/build/lib/driver/SendThreadMachine.js.map +0 -1
  155. package/build/lib/driver/TransactionMachine.d.ts +0 -30
  156. package/build/lib/driver/TransactionMachine.d.ts.map +0 -1
  157. package/build/lib/driver/TransactionMachine.js +0 -250
  158. package/build/lib/driver/TransactionMachine.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"SendThreadMachine.js","sourceRoot":"","sources":["../../../src/lib/driver/SendThreadMachine.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- import type { ZWaveError } from "@zwave-js/core";
2
- import type { Message } from "@zwave-js/serial";
3
- import { type Interpreter, type StateMachine } from "xstate";
4
- import type { CommandQueueEvent } from "./CommandQueueMachine";
5
- import { type ServiceImplementations } from "./StateMachineShared";
6
- import type { Transaction } from "./Transaction";
7
- export interface TransactionMachineContext {
8
- transaction: Transaction;
9
- sendDataAttempts: number;
10
- result?: Message;
11
- error?: ZWaveError;
12
- }
13
- export type TransactionMachineEvent = (CommandQueueEvent & {
14
- type: "command_success";
15
- }) | (CommandQueueEvent & {
16
- type: "command_failure";
17
- }) | (CommandQueueEvent & {
18
- type: "command_error";
19
- }) | {
20
- type: "NIF";
21
- nodeId: number;
22
- } | {
23
- type: "resend";
24
- } | {
25
- type: "stop";
26
- };
27
- export type TransactionMachine = StateMachine<TransactionMachineContext, any, TransactionMachineEvent, any, any, any, any>;
28
- export type TransactionMachineInterpreter = Interpreter<TransactionMachineContext, any, TransactionMachineEvent>;
29
- export declare function createTransactionMachine(id: string, transaction: Transaction, implementations: ServiceImplementations): TransactionMachine;
30
- //# sourceMappingURL=TransactionMachine.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionMachine.d.ts","sourceRoot":"","sources":["../../../src/lib/driver/TransactionMachine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAIN,KAAK,WAAW,EAEhB,KAAK,YAAY,EACjB,MAAM,QAAQ,CAAC;AAQhB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAGN,KAAK,sBAAsB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQjD,MAAM,WAAW,yBAAyB;IACzC,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,MAAM,uBAAuB,GAChC,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjD,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAC,GACjD,CAAC,iBAAiB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC,GAC/C;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAE/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAElB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAsCpB,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAC5C,yBAAyB,EACzB,GAAG,EACH,uBAAuB,EACvB,GAAG,EACH,GAAG,EACH,GAAG,EACH,GAAG,CACH,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,WAAW,CACtD,yBAAyB,EACzB,GAAG,EACH,uBAAuB,CACvB,CAAC;AAEF,wBAAgB,wBAAwB,CACvC,EAAE,EAAE,MAAM,EACV,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,sBAAsB,GACrC,kBAAkB,CA+OpB"}
@@ -1,250 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTransactionMachine = void 0;
4
- /* eslint-disable @typescript-eslint/no-empty-function */
5
- const NoOperationCC_1 = require("@zwave-js/cc/NoOperationCC");
6
- const xstate_1 = require("xstate");
7
- const SendDataBridgeMessages_1 = require("../serialapi/transport/SendDataBridgeMessages");
8
- const SendDataMessages_1 = require("../serialapi/transport/SendDataMessages");
9
- const SendDataShared_1 = require("../serialapi/transport/SendDataShared");
10
- const StateMachineShared_1 = require("./StateMachineShared");
11
- const guards = {
12
- mayRetry: (ctx, evt) => {
13
- const msg = ctx.transaction.parts.current;
14
- if (!(0, SendDataShared_1.isSendData)(msg))
15
- return false;
16
- if (msg instanceof SendDataMessages_1.SendDataMulticastRequest ||
17
- msg instanceof SendDataBridgeMessages_1.SendDataMulticastBridgeRequest) {
18
- // Don't try to resend multicast messages if they were already transmitted.
19
- // One or more nodes might have already reacted
20
- if (evt.reason === "callback NOK") {
21
- return false;
22
- }
23
- }
24
- return msg.maxSendAttempts > ctx.sendDataAttempts;
25
- },
26
- currentMessageIsSendData: (ctx) => (0, SendDataShared_1.isSendData)(ctx.transaction.parts.current),
27
- currentTransactionIsPingForNode: (ctx, evt) => {
28
- const msg = ctx.transaction.parts.current;
29
- return (!!msg &&
30
- (0, NoOperationCC_1.messageIsPing)(msg) &&
31
- msg.getNodeId() === evt.nodeId);
32
- },
33
- hasMessage: (ctx) => !!ctx.transaction.parts.current,
34
- };
35
- const every = (...guards) => ({
36
- type: "every",
37
- guards,
38
- });
39
- function createTransactionMachine(id, transaction, implementations) {
40
- return (0, xstate_1.createMachine)({
41
- preserveActionOrder: true,
42
- id,
43
- initial: "init",
44
- context: {
45
- transaction,
46
- sendDataAttempts: 0,
47
- },
48
- on: {
49
- NIF: {
50
- // Pings are not retransmitted and won't receive a response if the node wake up after the ping was sent
51
- // Therefore resolve pending pings so the communication may proceed immediately
52
- cond: "currentTransactionIsPingForNode",
53
- actions: "resolvePing",
54
- target: "done",
55
- internal: true,
56
- },
57
- resend: {
58
- // The driver asked to re-transmit the current message again immediately
59
- // without increasing the retry counter
60
- target: "execute",
61
- internal: true,
62
- },
63
- stop: "done",
64
- },
65
- states: {
66
- init: {
67
- always: {
68
- actions: "startTransaction",
69
- target: "nextMessage",
70
- },
71
- },
72
- // The following states are repeated for every message in this transaction
73
- nextMessage: {
74
- invoke: {
75
- // The message generator asynchronously generates a new message to send
76
- // or undefined if it has reached the end. Invoking this promise doubles
77
- // as waiting for the node response without introducing additional states
78
- id: "nextMessage",
79
- src: "nextMessage",
80
- onDone: [
81
- {
82
- cond: "hasMessage",
83
- target: "attemptMessage",
84
- // Each newly generated message gets its own sendData attempts
85
- actions: "resetSendDataAttempts",
86
- },
87
- // When the transaction generator is empty, we're done with this transaction
88
- { target: "done" },
89
- ],
90
- // If the next message cannot be generated because of an error, the transaction is also done
91
- onError: { target: "done" },
92
- },
93
- },
94
- // Increase send data counter before sending the message
95
- attemptMessage: {
96
- always: [
97
- {
98
- cond: "currentMessageIsSendData",
99
- actions: "incrementSendDataAttempts",
100
- target: "execute",
101
- },
102
- {
103
- target: "execute",
104
- },
105
- ],
106
- },
107
- execute: {
108
- entry: "sendToCommandQueue",
109
- on: {
110
- command_success: [
111
- // On success, resolve the transaction and wait for the driver's GO for the next one
112
- {
113
- actions: "rememberCommandSuccess",
114
- target: "nextMessage",
115
- },
116
- ],
117
- command_failure: [
118
- // On failure, retry SendData commands if possible
119
- {
120
- cond: every("currentMessageIsSendData", "mayRetry"),
121
- target: "retryWait",
122
- },
123
- // Otherwise reject the transaction
124
- {
125
- actions: "rememberCommandFailure",
126
- target: "nextMessage",
127
- },
128
- ],
129
- command_error: [
130
- // On failure, retry SendData commands if possible
131
- {
132
- cond: every("currentMessageIsSendData", "mayRetry"),
133
- target: "retryWait",
134
- },
135
- // Otherwise reject the transaction
136
- {
137
- actions: "rememberCommandError",
138
- target: "nextMessage",
139
- },
140
- ],
141
- },
142
- },
143
- retryWait: {
144
- invoke: {
145
- id: "notify",
146
- src: "notifyRetry",
147
- },
148
- after: {
149
- 500: "attemptMessage",
150
- },
151
- },
152
- done: {
153
- type: "final",
154
- // Notify the parent machine so it can clean up
155
- entry: (0, xstate_1.sendParent)({
156
- type: "transaction_done",
157
- id,
158
- }),
159
- },
160
- },
161
- }, {
162
- actions: {
163
- startTransaction: (ctx) => {
164
- ctx.transaction.parts.start();
165
- },
166
- resetSendDataAttempts: (0, xstate_1.assign)({
167
- sendDataAttempts: (_) => 0,
168
- }),
169
- incrementSendDataAttempts: (0, xstate_1.assign)({
170
- sendDataAttempts: (ctx) => ctx.sendDataAttempts + 1,
171
- }),
172
- sendToCommandQueue: (0, xstate_1.sendParent)((ctx) => ({
173
- type: "forward",
174
- to: "QUEUE",
175
- from: id,
176
- payload: {
177
- type: "add",
178
- transaction: ctx.transaction,
179
- },
180
- })),
181
- resolvePing: (ctx) => {
182
- // To resolve a ping, exit the message generator early by throwing something that's not an error
183
- ctx.transaction.parts
184
- .self.throw(undefined)
185
- .catch(() => { });
186
- },
187
- rememberCommandSuccess: (0, xstate_1.assign)({
188
- result: (_, evt) => evt.result,
189
- error: (_) => undefined,
190
- }),
191
- rememberCommandFailure: (0, xstate_1.assign)((ctx, evt) => {
192
- // For messages that were sent to a node, a NOK callback still contains useful info we need to evaluate
193
- if (((0, SendDataShared_1.isSendData)(ctx.transaction.parts.current) ||
194
- (0, SendDataShared_1.isTransmitReport)(evt.result)) &&
195
- evt.reason === "callback NOK") {
196
- return {
197
- ...ctx,
198
- result: evt.result,
199
- error: undefined,
200
- };
201
- }
202
- else {
203
- return {
204
- ...ctx,
205
- result: undefined,
206
- error: (0, StateMachineShared_1.sendDataErrorToZWaveError)(evt.reason, ctx.transaction, evt.result),
207
- };
208
- }
209
- }),
210
- rememberCommandError: (0, xstate_1.assign)({
211
- result: (_) => undefined,
212
- error: (_, evt) => (0, StateMachineShared_1.createMessageDroppedUnexpectedError)(evt.error),
213
- }),
214
- unsetCommandResult: (0, xstate_1.assign)({
215
- result: (_) => undefined,
216
- error: (_) => undefined,
217
- }),
218
- },
219
- services: {
220
- // This service is used to return something to the yielded message generator
221
- // Depending on the outcome of the last command, the generator will either be thrown or continued with the result
222
- nextMessage: (ctx) => {
223
- if (ctx.error) {
224
- implementations.rejectTransaction(ctx.transaction, ctx.error);
225
- return Promise.resolve();
226
- }
227
- else {
228
- // self can be undefined if the transaction was expired while in flight
229
- // In that case, resolve to nothing immediately to end the Transaction machine
230
- return (ctx.transaction.parts.self?.next(ctx.result) ?? Promise.resolve());
231
- }
232
- },
233
- notifyRetry: (ctx) => {
234
- implementations.notifyRetry?.("SendData", undefined, ctx.transaction.message, ctx.sendDataAttempts, ctx.transaction.message
235
- .maxSendAttempts, 500);
236
- return Promise.resolve();
237
- },
238
- },
239
- guards: {
240
- ...guards,
241
- every: (ctx, event, { cond }) => {
242
- const keys = cond.guards;
243
- return keys.every((guardKey) => guards[guardKey]?.(ctx, event, undefined));
244
- },
245
- },
246
- delays: {},
247
- });
248
- }
249
- exports.createTransactionMachine = createTransactionMachine;
250
- //# sourceMappingURL=TransactionMachine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TransactionMachine.js","sourceRoot":"","sources":["../../../src/lib/driver/TransactionMachine.ts"],"names":[],"mappings":"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"}