isy-nodejs 1.0.2-alpha.4 → 1.0.3-alpha.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 (271) hide show
  1. package/dist/esm/CodeGeneration/{NodeFactory.js → CodeFactory.js} +18 -7
  2. package/dist/esm/CodeGeneration/CodeFactory.js.map +1 -0
  3. package/dist/esm/CodeGeneration/EnumFactory.js +1 -1
  4. package/dist/esm/CodeGeneration/EnumFactory.js.map +1 -1
  5. package/dist/esm/CodeGeneration/NodeClassFactory.js +156 -146
  6. package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
  7. package/dist/esm/Converters.js +16 -6
  8. package/dist/esm/Converters.js.map +1 -1
  9. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +4 -2
  10. package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -1
  11. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +4 -2
  12. package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -1
  13. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +5 -3
  14. package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -1
  15. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +4 -2
  16. package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -1
  17. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +4 -2
  18. package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -1
  19. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +7 -5
  20. package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -1
  21. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +8 -6
  22. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -1
  23. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +9 -7
  24. package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -1
  25. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +8 -6
  26. package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -1
  27. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +4 -2
  28. package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -1
  29. package/dist/esm/Devices/Insteon/Generated/DoorLock.js +3 -1
  30. package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -1
  31. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +3 -1
  32. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -1
  33. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +4 -2
  34. package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -1
  35. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +3 -1
  36. package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -1
  37. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +5 -3
  38. package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -1
  39. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +5 -3
  40. package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -1
  41. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +12 -10
  42. package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -1
  43. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +10 -8
  44. package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -1
  45. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +3 -1
  46. package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -1
  47. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +4 -2
  48. package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -1
  49. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +4 -2
  50. package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -1
  51. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +9 -7
  52. package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -1
  53. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +7 -5
  54. package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -1
  55. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +4 -2
  56. package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -1
  57. package/dist/esm/Devices/Insteon/Generated/Pir2844.js +6 -4
  58. package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -1
  59. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +5 -3
  60. package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -1
  61. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +6 -4
  62. package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -1
  63. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +6 -4
  64. package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -1
  65. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +7 -5
  66. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -1
  67. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +8 -6
  68. package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -1
  69. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +6 -4
  70. package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -1
  71. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +6 -4
  72. package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -1
  73. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +3 -1
  74. package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -1
  75. package/dist/esm/Devices/Insteon/Generated/Siren.js +5 -3
  76. package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -1
  77. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +3 -1
  78. package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -1
  79. package/dist/esm/Devices/Insteon/Generated/TempLinc.js +8 -6
  80. package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -1
  81. package/dist/esm/Devices/Insteon/Generated/Thermostat.js +8 -6
  82. package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -1
  83. package/dist/esm/Devices/Insteon/Generated/X10.js +3 -1
  84. package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -1
  85. package/dist/esm/Devices/Lutron/Generated/LoadShed.js +4 -2
  86. package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -1
  87. package/dist/esm/Devices/UDI/Generated/Channel.js +3 -1
  88. package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -1
  89. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +3 -1
  90. package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -1
  91. package/dist/esm/Devices/UDI/Generated/Main.js +3 -1
  92. package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -1
  93. package/dist/esm/Devices/UDI/Generated/PulseCounter.js +3 -1
  94. package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -1
  95. package/dist/esm/Devices/UDI/Generated/Relay.js +3 -1
  96. package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -1
  97. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +3 -1
  98. package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -1
  99. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +8 -2
  100. package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -1
  101. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +4 -2
  102. package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -1
  103. package/dist/esm/ISY.js +59 -34
  104. package/dist/esm/ISY.js.map +1 -1
  105. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js +1 -1
  106. package/dist/esm/Matter/Behaviors/ISYBridgedDeviceBehavior.js.map +1 -1
  107. package/dist/esm/Matter/Behaviors/ISYClusterBehavior.js.map +1 -1
  108. package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
  109. package/dist/esm/Matter/Bridge/Server.js +6 -6
  110. package/dist/esm/Matter/Bridge/Server.js.map +1 -1
  111. package/dist/esm/Matter/Mappings/Insteon.js +37 -13
  112. package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
  113. package/dist/esm/{Model/ClusterMap.js → Matter/Mappings/MappingRegistry.js} +12 -7
  114. package/dist/esm/Matter/Mappings/MappingRegistry.js.map +1 -0
  115. package/dist/esm/Model/ClassDefinition.js +7 -5
  116. package/dist/esm/Model/ClassDefinition.js.map +1 -1
  117. package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts → CodeFactory.d.ts} +1 -1
  118. package/dist/esm/types/CodeGeneration/{NodeFactory.d.ts.map → CodeFactory.d.ts.map} +1 -1
  119. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts +1 -1
  120. package/dist/esm/types/CodeGeneration/EnumFactory.d.ts.map +1 -1
  121. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +19 -3
  122. package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
  123. package/dist/esm/types/Converters.d.ts +12 -6
  124. package/dist/esm/types/Converters.d.ts.map +1 -1
  125. package/dist/esm/types/Devices/EndpointFor.d.ts +1 -1
  126. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -1
  127. package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -1
  128. package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -1
  129. package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -1
  130. package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -1
  131. package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -1
  132. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -1
  133. package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -1
  134. package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -1
  135. package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -1
  136. package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -1
  137. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -1
  138. package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -1
  139. package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -1
  140. package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -1
  141. package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -1
  142. package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -1
  143. package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -1
  144. package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -1
  145. package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -1
  146. package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -1
  147. package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -1
  148. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +6 -6
  149. package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -1
  150. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +3 -3
  151. package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -1
  152. package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -1
  153. package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -1
  154. package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -1
  155. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +3 -3
  156. package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -1
  157. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +3 -3
  158. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -1
  159. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +6 -6
  160. package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -1
  161. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -1
  162. package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -1
  163. package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -1
  164. package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -1
  165. package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -1
  166. package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -1
  167. package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -1
  168. package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -1
  169. package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +2 -2
  170. package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -1
  171. package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -1
  172. package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -1
  173. package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -1
  174. package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -1
  175. package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -1
  176. package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -1
  177. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +16 -9
  178. package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -1
  179. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +15 -15
  180. package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -1
  181. package/dist/esm/types/ISY.d.ts +6 -2
  182. package/dist/esm/types/ISY.d.ts.map +1 -1
  183. package/dist/esm/types/ISYNode.d.ts +1 -1
  184. package/dist/esm/types/ISYNode.d.ts.map +1 -1
  185. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -1
  186. package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
  187. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts +1 -1
  188. package/dist/esm/types/Matter/Behaviors/ISYClusterBehavior.d.ts.map +1 -1
  189. package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
  190. package/dist/esm/types/Matter/Bridge/Server.d.ts +0 -1
  191. package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
  192. package/dist/esm/types/Matter/Mappings/Insteon.d.ts +3 -1
  193. package/dist/esm/types/Matter/Mappings/Insteon.d.ts.map +1 -1
  194. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts +144 -0
  195. package/dist/esm/types/Matter/Mappings/MappingRegistry.d.ts.map +1 -0
  196. package/dist/esm/types/Model/ClassDefinition.d.ts +9 -623
  197. package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
  198. package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
  199. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  200. package/package.json +4 -2
  201. package/src/CodeGeneration/{NodeFactory.ts → CodeFactory.ts} +18 -2
  202. package/src/CodeGeneration/EnumFactory.ts +5 -4
  203. package/src/CodeGeneration/NodeClassFactory.ts +266 -241
  204. package/src/Converters.ts +16 -10
  205. package/src/Devices/Brultech/Generated/Channel.ts +3 -1
  206. package/src/Devices/Brultech/Generated/Main.ts +3 -1
  207. package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +4 -2
  208. package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +4 -2
  209. package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +5 -3
  210. package/src/Devices/Insteon/Generated/BinaryAlarm.ts +4 -2
  211. package/src/Devices/Insteon/Generated/BinaryControl.ts +4 -2
  212. package/src/Devices/Insteon/Generated/DimmerLamp.ts +7 -5
  213. package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +8 -6
  214. package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +9 -7
  215. package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +8 -6
  216. package/src/Devices/Insteon/Generated/DimmerSwitch.ts +4 -2
  217. package/src/Devices/Insteon/Generated/DoorLock.ts +3 -1
  218. package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +3 -1
  219. package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +4 -2
  220. package/src/Devices/Insteon/Generated/EzrainInput.ts +3 -1
  221. package/src/Devices/Insteon/Generated/EzrainOutput.ts +12 -10
  222. package/src/Devices/Insteon/Generated/FanLincMotor.ts +5 -3
  223. package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +12 -10
  224. package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +10 -8
  225. package/src/Devices/Insteon/Generated/ImeterSolo.ts +3 -1
  226. package/src/Devices/Insteon/Generated/IrLincTx.ts +4 -2
  227. package/src/Devices/Insteon/Generated/KeypadButton.ts +4 -2
  228. package/src/Devices/Insteon/Generated/KeypadDimmer.ts +9 -7
  229. package/src/Devices/Insteon/Generated/KeypadRelay.ts +18 -16
  230. package/src/Devices/Insteon/Generated/OnOffControl.ts +7 -5
  231. package/src/Devices/Insteon/Generated/Pir2844.ts +6 -4
  232. package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +5 -3
  233. package/src/Devices/Insteon/Generated/Pir2844c.ts +6 -4
  234. package/src/Devices/Insteon/Generated/RelayLamp.ts +9 -7
  235. package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +10 -8
  236. package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +12 -10
  237. package/src/Devices/Insteon/Generated/RelaySwitch.ts +6 -4
  238. package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +6 -4
  239. package/src/Devices/Insteon/Generated/RemoteLinc2.ts +3 -1
  240. package/src/Devices/Insteon/Generated/Siren.ts +5 -3
  241. package/src/Devices/Insteon/Generated/SirenAlert.ts +3 -1
  242. package/src/Devices/Insteon/Generated/TempLinc.ts +8 -6
  243. package/src/Devices/Insteon/Generated/Thermostat.ts +8 -6
  244. package/src/Devices/Insteon/Generated/X10.ts +3 -1
  245. package/src/Devices/Lutron/Generated/LoadShed.ts +4 -2
  246. package/src/Devices/NCD/Generated/Relay.ts +4 -2
  247. package/src/Devices/Poly/Generated/MatterBridge.ts +3 -1
  248. package/src/Devices/Scene/Generated/Scene.ts +10 -8
  249. package/src/Devices/UDI/Generated/Channel.ts +3 -1
  250. package/src/Devices/UDI/Generated/Em3MainChannel.ts +3 -1
  251. package/src/Devices/UDI/Generated/Main.ts +3 -1
  252. package/src/Devices/UDI/Generated/PulseCounter.ts +3 -1
  253. package/src/Devices/UDI/Generated/Relay.ts +3 -1
  254. package/src/Devices/UDI/Generated/TemperatureSensor.ts +3 -1
  255. package/src/Devices/ZWave/Generated/ColorSwitch.ts +19 -7
  256. package/src/Devices/ZWave/Generated/DimmerSwitch.ts +13 -11
  257. package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +4 -2
  258. package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +11 -9
  259. package/src/ISY.ts +58 -25
  260. package/src/Matter/Behaviors/ISYBridgedDeviceBehavior.ts +1 -1
  261. package/src/Matter/Behaviors/ISYClusterBehavior.ts +2 -1
  262. package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +2 -1
  263. package/src/Matter/Bridge/Server.ts +10 -6
  264. package/src/Matter/Mappings/Insteon.ts +41 -26
  265. package/src/{Model/ClusterMap.ts → Matter/Mappings/MappingRegistry.ts} +26 -14
  266. package/src/Model/ClassDefinition.ts +16 -10
  267. package/src/Utils.ts +1 -1
  268. package/dist/esm/CodeGeneration/NodeFactory.js.map +0 -1
  269. package/dist/esm/Model/ClusterMap.js.map +0 -1
  270. package/dist/esm/types/Model/ClusterMap.d.ts +0 -101
  271. package/dist/esm/types/Model/ClusterMap.d.ts.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { unique } from 'moderndash';
1
2
  import ts from 'typescript';
2
3
  export const SyntaxKind = ts.SyntaxKind;
3
4
  export class CodeFactory {
@@ -139,20 +140,30 @@ export class CodeFactory {
139
140
  return a.typeName.text === b.typeName.text;
140
141
  }
141
142
  }
143
+ if (a.kind === ts.SyntaxKind.NumberKeyword || a.kind === ts.SyntaxKind.StringKeyword || a.kind === ts.SyntaxKind.BigIntKeyword) {
144
+ return a.kind === b.kind;
145
+ }
142
146
  return false;
143
147
  }
144
148
  createUnionTypeNode(...types) {
149
+ let t = unique(types, this.typesEqual);
150
+ /*try
151
+ {
145
152
  let t = [types[0]];
146
153
  for (let i = 1; i < types.length; i++) {
147
154
  if (types[i].kind !== ts.SyntaxKind.NeverKeyword) {
148
155
  if (types[i].kind === ts.SyntaxKind.UnionType) {
149
- types.push(...types[i].types);
150
- }
151
- else if (!t.some((x) => this.typesEqual(x, types[i])))
152
- t.push(types[i]);
156
+ types.push(...(types[i] as ts.UnionTypeNode).types);
157
+ } else if (!t.some((x) => this.typesEqual(x, types[i]))) t.push(types[i]);
153
158
  }
154
159
  }
155
- return ts.factory.createUnionTypeNode(types);
160
+ return ts.factory.createUnionTypeNode(t);
161
+ }
162
+ catch(e)
163
+ {*/
164
+ //console.warn(e);
165
+ return ts.factory.createUnionTypeNode(t);
166
+ //}
156
167
  }
157
168
  createIntersectionTypeNode(types) {
158
169
  return ts.factory.createIntersectionTypeNode(types);
@@ -221,7 +232,7 @@ export class CodeFactory {
221
232
  if (typeof multiLine === 'boolean') {
222
233
  return ts.factory.createBlock(statements, multiLine);
223
234
  }
224
- return ts.factory.createBlock([multiLine, ...statements]);
235
+ return ts.factory.createBlock([multiLine, ...statements], true);
225
236
  }
226
237
  createModuleBlock(statements) {
227
238
  return ts.factory.createModuleBlock(statements);
@@ -242,4 +253,4 @@ export class CodeFactory {
242
253
  return ts.factory.createPropertyAccessChain(expression, useQuestionDot ? this.createToken(ts.SyntaxKind.QuestionDotToken) : undefined, this.createIdentifier(name));
243
254
  }
244
255
  }
245
- //# sourceMappingURL=NodeFactory.js.map
256
+ //# sourceMappingURL=CodeFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/CodeFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACpC,OAAO,EAA0E,MAAM,YAAY,CAAC;AAOpG,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;AAIxC,MAAM,OAAO,WAAW;IACb,OAAO,CAAiB;IAElC,YAAY,OAAuB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAEO,gBAAgB,CAAC,IAAa;QACrC,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7D,CAAC;IAED,kBAAkB,CAAC,UAAmB,EAAE,IAAa,EAAE,GAAG,aAAuC;QAChG,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACpI,CAAC;IAED,kBAAkB,CAAC,QAAsC,EAAE,SAAmB;QAC7E,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,iBAAiB,CAAC,IAAY,EAAE,KAAoB;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,CAAC;IAC1E,CAAC;IAED,kCAAkC,CAAC,MAAuB,EAAE,SAAmB;QAC9E,OAAO,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,sBAAsB,CAAC,QAA0C,EAAE,SAAmB;QACrF,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/D,CAAC;IAED,qBAAqB,CAAC,IAAY,EAAE,KAAoB;QACvD,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,qBAAqB,CAAC,IAAY;QACjC,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IACvE,CAAC;IAED,qBAAqB,CAAC,IAAY;QACjC,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IACvE,CAAC;IAED,kBAAkB,CAAC,GAAG,QAA8B;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,kBAAkB,CAAC,IAAqB,EAAE,UAAmB,EAAE,IAAa,EAAE,GAAG,aAAuC;QACvH,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1I,CAAC;IAED,kBAAkB,CAAC,IAAqB,EAAE,QAAsC,EAAE,SAAmB;QACpG,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,iBAAiB,CAAC,IAAoB,EAAE,IAAY,EAAE,KAAoB;QACzE,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,CAAC;IAChF,CAAC;IAED,kCAAkC,CAAC,IAAqC,EAAE,MAAuB,EAAE,SAAmB;QACrH,OAAO,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/E,CAAC;IAED,sBAAsB,CAAC,IAAyB,EAAE,QAA0C,EAAE,SAAmB;QAChH,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,qBAAqB,CAAC,IAAwB,EAAE,IAAY,EAAE,KAAoB;QACjF,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,qBAAqB,CAAC,IAAwB,EAAE,IAAY;QAC3D,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IAC7E,CAAC;IAED,qBAAqB,CAAC,IAAwB,EAAE,IAAY;QAC3D,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IAC7E,CAAC;IAED,kBAAkB,CAAC,IAAqB,EAAE,GAAG,QAA8B;QAC1E,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,mEAAmE;IAEnE,uBAAuB,CAAC,eAAuB,EAAE,YAAsB,EAAE,UAAU,GAAG,KAAK,EAAE,gBAAsC,EAAE,GAAG,aAA8B;QACrK,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxC,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,EACtC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC,CAAC,CAAC,EAC3L,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAC/C,gBAAgB,CAChB,CAAC;IACH,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,WAA0B,EAAE,OAAO,GAAG,IAAI;QAC/E,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxC,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EACxD,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACvC,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,EACvG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAChD,CACD,CAAC;IACH,CAAC;IAED,0BAA0B,CAAC,IAAY,EAAE,IAAiB;QACzD,OAAO,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACxG,CAAC;IAED,sBAAsB,CAAC,IAAY,EAAE,OAA0B,EAAE,eAAqC;QACrG,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC5J,CAAC;IAED,GAAG,CAAI,GAAG,KAAU;QACnB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAM,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAI,IAAe,EAAE,KAAK,CAAC,CAAC,CAAW,CAAM,CAAC;IAC7F,CAAC;IAED,EAAE,CAAI,GAAG,KAAU;QAClB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,CAAM,CAAC;QACf,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAI,IAAe,EAAE,KAAK,CAAC,CAAC,CAAW,CAAM,CAAC;IAC7F,CAAC;IAED,eAAe,CAAC,GAAG,KAAyB;QAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IACvE,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,UAAqC,EAAE,IAAc,EAAE,OAAO,GAAG,KAAK;QAC3G,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACxC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAClE,SAAS,EACT,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAC5B,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,IAAI,CACJ,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,WAA0B,EAAE,YAA2B,EAAE;QAChG,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACzH,CAAC;IAED,4BAA4B,CAAC,UAAqC,EAAE,IAAc;QACjF,OAAO,EAAE,CAAC,OAAO,CAAC,4BAA4B,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,UAAqC,EAAE,IAAc,EAAE,UAAwB;QACtH,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACnL,CAAC;IACD,cAAc,CAAC,aAAoC;QAClD,OAAO,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,IAAoB,EAAE,GAAG,aAA8B;QAC5F,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,aAAa,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/I,CAAC;IAID,WAAW,CAA4B,IAAO;QAC7C,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,uBAAuB,CAAC,IAAY,EAAE,IAAiB,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,SAA0B;QACvG,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzL,CAAC;IAGD,uBAAuB,CAAC,QAAgB,EAAE,SAAgC,EAAE,GAAG,aAA4B;QAC1G,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAE,CAAC,EAAE,aAAa,CAAC,CAAC;QAC9J,CAAC;aAAM,CAAC;YACP,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAE,EAAE,CAAC,SAAS,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;QAC5G,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAc,EAAE,CAAc;QACxC,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3E,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,CAAC;iBAAM,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3E,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;YAC1C,CAAC;QACF,CAAC;QAED,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAChE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,IAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU,CAAC,aAAa,EAC7H,CAAC;YACA,OAAO,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,mBAAmB,CAAC,GAAG,KAAoB;QAC1C,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvC;;;;;;;;;;;;;WAaG;QACF,kBAAkB;QAClB,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC1C,GAAG;IAEJ,CAAC;IAED,0BAA0B,CAAC,KAAoB;QAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC;IAED,qBAAqB,CAAC,OAAyB;QAC9C,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,sBAAsB,CAAC,IAAiB,EAAE,cAAsD,EAAE,GAAG,UAAqC;QACzI,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,cAAc,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,IAAiB,EAAE,WAA2B,EAAE,QAAQ,GAAG,KAAK;QAC7F,OAAO,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;IAC3L,CAAC;IAED,yBAAyB,CAAC,UAAyB;QAClD,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,oBAAoB,CAAC,UAAyB,EAAE,aAAwC,EAAE,cAA+B;QACxH,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IACnF,CAAC;IAED,qBAAqB,CAAC,UAA0B;QAC/C,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,UAAyB,EAAE,aAAwC,EAAE,cAA+B;QACvH,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;IAClF,CAAC;IAED,mBAAmB,CAAC,UAAyC,EAAE,SAAmB;QACjF,OAAO,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAED,wBAAwB,CAAC,IAAY,EAAE,WAA0B;QAChE,OAAO,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,WAAW,CAAC,CAAC;IACvF,CAAC;IAED,mBAAmB,CAAC,IAAmB,EAAE,KAAa;QACrD,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAE,CAAC,CAAC;IAC5E,CAAC;IAED,qBAAqB,CAAC,OAAwB;QAC7C,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAiB,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oBAAoB,CAAC,KAAa;QACjC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB,CAAC,IAAY;QAC/B,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,qBAAqB,CAAC,IAA8B;QACnD,OAAO,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAED,uBAAuB,CAAC,aAA4B,EAAE,IAAiB;QACtE,OAAO,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,sBAAsB,CAAC,IAAmB,EAAE,QAA2B,EAAE,KAAoB;QAC5F,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,8BAA8B,CAAC,UAAyB,EAAE,IAAY;QACrE,OAAO,EAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IAC5F,CAAC;IAED,oBAAoB,CAAC,KAAqE,EAAE,KAAuC;QAClI,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,iCAAiC,CAAC,UAAyB,EAAE,aAA6B;QACzF,OAAO,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IAChF,CAAC;IAGD,WAAW,CAAC,SAAiC,EAAE,GAAG,UAA0B;QAC3E,IAAG,OAAO,SAAS,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,SAAS,EAAE,GAAG,UAAU,CAAC,EAAC,IAAI,CAAC,CAAC;IAEhE,CAAC;IAED,iBAAiB,CAAC,UAA0B;QAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC;IAED,0BAA0B,CAAC,IAAY,EAAE,OAAyB,EAAE,eAAqC;QACxG,OAAO,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;IAC3K,CAAC;IAED,sBAAsB,CAAC,QAAkG,EAAE,IAAiB;QAC3I,OAAO,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,mBAAmB,CAAC,QAAuB;QAC1C,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjD,CAAC;IAED,kBAAkB,CAAC,UAAyB,EAAE,IAAiB;QAC9D,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,yBAAyB,CAAC,IAAY,EAAE,iBAA0B,IAAI,EAAE,UAAyB;QAChG,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAE,CAAC,CAAC;IACtK,CAAC;CACD"}
@@ -74,7 +74,7 @@ function createDriverInitializationStatement(def) {
74
74
  factory.createThis(),
75
75
  factory.createAsExpression(factory.createPropertyAccessExpression(factory.createIdentifier("nodeInfo"), factory.createIdentifier("property")), factory.createTypeReferenceNode(factory.createIdentifier("DriverState"), undefined)),
76
76
  factory.createObjectLiteralExpression([
77
- factory.createPropertyAssignment(factory.createIdentifier("uom"), factory.createPropertyAccessExpression(factory.createIdentifier("UnitOfMeasure"), factory.createIdentifier(UnitOfMeasure[Object.values(def.dataType)[0]?.uom] ?? "Unknown"))),
77
+ factory.createPropertyAssignment(factory.createIdentifier("uom"), factory.createPropertyAccessExpression(factory.createIdentifier("UnitOfMeasure"), factory.createIdentifier(UnitOfMeasure[def.dataType[0]?.uom] ?? "Unknown"))),
78
78
  factory.createPropertyAssignment(factory.createIdentifier("label"), factory.createStringLiteral(def.label)),
79
79
  factory.createPropertyAssignment(factory.createIdentifier("name"), factory.createStringLiteral(def.name)),
80
80
  ], false),
@@ -1 +1 @@
1
- {"version":3,"file":"EnumFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/EnumFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EnumFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/EnumFactory.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import { UnitOfMeasure } from '../Definitions/Global/UOM.js';
4
4
  import { Family } from '../Definitions/index.js';
5
5
  import { NodeClassDefinition } from '../Model/ClassDefinition.js';
6
6
  import { EnumDefinitionMap } from '../Model/EnumDefinition.js';
7
- import { CodeFactory } from './NodeFactory.js';
7
+ import { CodeFactory } from './CodeFactory.js';
8
8
  // #endregion Type aliases (1)
9
9
  // #region Classes (1)
10
10
  export class NodeClassFactory extends CodeFactory {
@@ -18,7 +18,7 @@ export class NodeClassFactory extends CodeFactory {
18
18
  useTrailingCommas: false,
19
19
  indentationText: IndentationText.Tab,
20
20
  newLineKind: ts.NewLineKind.CarriageReturnLineFeed,
21
- insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true
21
+ insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true,
22
22
  }
23
23
  });
24
24
  static instance = new NodeClassFactory(ts.factory);
@@ -44,7 +44,6 @@ export class NodeClassFactory extends CodeFactory {
44
44
  }
45
45
  });
46
46
  }
47
- N;
48
47
  createNodeClass(nodeClassDef) {
49
48
  let path = `${NodeClassFactory.basePath}/${Family[nodeClassDef.family]}/Generated/${nodeClassDef.name}.ts`;
50
49
  let sf = ts.createSourceFile(path, '', ts.ScriptTarget.ES2023, true, ts.ScriptKind.TS);
@@ -53,7 +52,7 @@ export class NodeClassFactory extends CodeFactory {
53
52
  factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('UnitOfMeasure'))])), factory.createStringLiteral('../../../Definitions/Global/UOM.js'), undefined),
54
53
  factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('Family'))])), factory.createStringLiteral('../../../Definitions/Global/Families.js'), undefined),
55
54
  factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('NodeInfo'))])), factory.createStringLiteral('../../../Model/NodeInfo.js'), undefined),
56
- this.createImportDeclaration('../../../ISY.js', ['ISY']),
55
+ NodeClassFactory.instance.createImportDeclaration('../../../ISY.js', ['ISY']),
57
56
  factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('ISYNode'))])), factory.createStringLiteral('../../../ISYNode.js'), undefined),
58
57
  factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('Base'))])), factory.createStringLiteral('../index.js'), undefined),
59
58
  factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('ISYDeviceNode'))])), factory.createStringLiteral('../../ISYDeviceNode.js'), undefined),
@@ -86,21 +85,21 @@ export class NodeClassFactory extends CodeFactory {
86
85
  // factory.createObjectLiteralExpression([], false)
87
86
  // ),
88
87
  factory.createPropertyDeclaration([factory.createToken(ts.SyntaxKind.StaticKeyword), factory.createToken(ts.SyntaxKind.OverrideKeyword)], factory.createIdentifier('nodeDefId'), undefined, undefined, factory.createStringLiteral(nodeClassDef.id)),
89
- this.createPropertyDeclaration('implements', factory.createArrayLiteralExpression(nodeClassDef.implementedBy ?
90
- [this.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.implements || nodeClassDef.implements.length == 0 ? [] : nodeClassDef.implements?.map((p) => factory.createStringLiteral(p)))
91
- : [this.createStringLiteral(nodeClassDef.id)]), this.createModifiers(ts.ModifierFlags.Static | ts.ModifierFlags.Override)),
88
+ NodeClassFactory.instance.createPropertyDeclaration('implements', factory.createArrayLiteralExpression(nodeClassDef.implementedBy ?
89
+ [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.implements || nodeClassDef.implements.length == 0 ? [] : nodeClassDef.implements?.map((p) => factory.createStringLiteral(p)))
90
+ : [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)]), NodeClassFactory.instance.createModifiers(ts.ModifierFlags.Static | ts.ModifierFlags.Override)),
92
91
  factory.createPropertyDeclaration([factory.createToken(ts.SyntaxKind.DeclareKeyword), factory.createToken(ts.SyntaxKind.ReadonlyKeyword)], factory.createIdentifier('nodeDefId'), undefined, nodeClassDef.equivalents ?
93
- NodeClassFactory.instance.createUnionTypeNode(...[this.createLiteralTypeNode(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createLiteralTypeNode(factory.createStringLiteral(p)))))
94
- : this.createLiteralTypeNode(nodeClassDef.id), undefined),
92
+ NodeClassFactory.instance.createUnionTypeNode(...[NodeClassFactory.instance.createLiteralTypeNode(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createLiteralTypeNode(factory.createStringLiteral(p)))))
93
+ : NodeClassFactory.instance.createLiteralTypeNode(nodeClassDef.id), undefined),
95
94
  factory.createConstructorDeclaration(undefined, [
96
95
  factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('isy'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISY'), undefined), undefined),
97
96
  factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('nodeInfo'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('NodeInfo'), undefined), undefined)
98
97
  ], factory.createBlock([
99
98
  factory.createExpressionStatement(factory.createCallExpression(factory.createSuper(), undefined, [factory.createIdentifier('isy'), factory.createIdentifier('nodeInfo')])),
100
- ...Object.values(nodeClassDef.drivers).map(createDriverInitializationStatement)
99
+ ...Object.values(nodeClassDef.drivers).map(p => NodeClassFactory.instance.createDriverInitializationStatement(p))
101
100
  ], true)),
102
- ...Object.values(nodeClassDef.commands).map(createCommandMethodDeclaration),
103
- ...Object.values(nodeClassDef.drivers).map(createDriverGetDeclaration)
101
+ ...Object.values(nodeClassDef.commands).map(p => NodeClassFactory.instance.createCommandMethodDeclaration(p)),
102
+ ...Object.values(nodeClassDef.drivers).map(p => NodeClassFactory.instance.createDriverGetDeclaration(p))
104
103
  ]),
105
104
  factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('NodeFactory'), factory.createIdentifier('register')), undefined, [
106
105
  factory.createIdentifier(`${nodeClassDef.name}Node`)
@@ -115,7 +114,7 @@ export class NodeClassFactory extends CodeFactory {
115
114
  factory.createInterfaceDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Interface'), undefined, [
116
115
  factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
117
116
  factory.createExpressionWithTypeArguments(factory.createIdentifier('Omit'), [
118
- this.createTypeReferenceNode('InstanceType', this.factory.createTypeQueryNode(factory.createIdentifier(`${nodeClassDef.name}Node`))),
117
+ NodeClassFactory.instance.createTypeReferenceNode('InstanceType', NodeClassFactory.instance.factory.createTypeQueryNode(factory.createIdentifier(`${nodeClassDef.name}Node`))),
119
118
  factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, factory.createTypeReferenceNode(factory.createIdentifier('ISYDeviceNode'), [
120
119
  factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
121
120
  factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
@@ -126,8 +125,8 @@ export class NodeClassFactory extends CodeFactory {
126
125
  ])
127
126
  ], [
128
127
  factory.createPropertySignature(undefined, factory.createIdentifier('nodeDefId'), undefined, nodeClassDef.equivalents ?
129
- this.createUnionTypeNode(...[this.createLiteralTypeNode(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createLiteralTypeNode(factory.createStringLiteral(p)))))
130
- : this.createLiteralTypeNode(nodeClassDef.id))
128
+ NodeClassFactory.instance.createUnionTypeNode(...[NodeClassFactory.instance.createLiteralTypeNode(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createLiteralTypeNode(factory.createStringLiteral(p)))))
129
+ : NodeClassFactory.instance.createLiteralTypeNode(nodeClassDef.id))
131
130
  ]),
132
131
  factory.createFunctionDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], undefined, factory.createIdentifier('is'), undefined, [
133
132
  factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('node'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISYNode'), [
@@ -136,19 +135,14 @@ export class NodeClassFactory extends CodeFactory {
136
135
  factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
137
136
  factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)
138
137
  ]), undefined)
139
- ], factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)), this.createBlock(this.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createArrayLiteralExpression(nodeClassDef.equivalents ?
140
- [this.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createStringLiteral(p)))
141
- : [this.createStringLiteral(nodeClassDef.id)]), 'includes'), undefined, [factory.createPropertyAccessExpression(factory.createIdentifier('node'), factory.createIdentifier('nodeDefId'))])))),
138
+ ], factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)), NodeClassFactory.instance.createBlock(true, NodeClassFactory.instance.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createArrayLiteralExpression(nodeClassDef.equivalents ?
139
+ [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.equivalents || nodeClassDef.equivalents.length == 0 ? [] : nodeClassDef.equivalents?.map((p) => factory.createStringLiteral(p)))
140
+ : [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)]), 'includes'), undefined, [factory.createPropertyAccessExpression(factory.createIdentifier('node'), factory.createIdentifier('nodeDefId'))])))),
142
141
  factory.createFunctionDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], undefined, factory.createIdentifier('isImplementedBy'), undefined, [
143
- factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('node'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISYNode'), [
144
- factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
145
- factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
146
- factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
147
- factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)
148
- ]), undefined)
149
- ], factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)), this.createBlock(true, factory.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createArrayLiteralExpression(nodeClassDef.implementedBy ?
150
- [this.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.implementedBy || nodeClassDef.implementedBy.length == 0 ? [] : nodeClassDef.implementedBy?.map((p) => factory.createStringLiteral(p)))
151
- : [this.createStringLiteral(nodeClassDef.id)]), 'includes'), undefined, [factory.createPropertyAccessExpression(factory.createIdentifier('node'), factory.createIdentifier('nodeDefId'))])))),
142
+ factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('node'), undefined, NodeClassFactory.instance.createTypeReferenceNode('ISYNode', NodeClassFactory.instance.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword), NodeClassFactory.instance.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword), NodeClassFactory.instance.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword), NodeClassFactory.instance.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)), undefined)
143
+ ], factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)), NodeClassFactory.instance.createBlock(true, factory.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createArrayLiteralExpression(nodeClassDef.implementedBy ?
144
+ [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)].concat(!nodeClassDef.implementedBy || nodeClassDef.implementedBy.length == 0 ? [] : nodeClassDef.implementedBy?.map((p) => factory.createStringLiteral(p)))
145
+ : [NodeClassFactory.instance.createStringLiteral(nodeClassDef.id)]), 'includes'), undefined, [factory.createPropertyAccessExpression(factory.createIdentifier('node'), factory.createIdentifier('nodeDefId'))])))),
152
146
  factory.createFunctionDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], undefined, factory.createIdentifier('create'), undefined, [
153
147
  factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('isy'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISY'), undefined), undefined),
154
148
  factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('nodeInfo'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('NodeInfo'), undefined), undefined)
@@ -156,8 +150,8 @@ export class NodeClassFactory extends CodeFactory {
156
150
  factory.createReturnStatement(factory.createNewExpression(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined, [factory.createIdentifier('isy'), factory.createIdentifier('nodeInfo')]))
157
151
  ], true)),
158
152
  factory.createVariableStatement([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier('Node'), undefined, undefined, factory.createIdentifier(`${nodeClassDef.name}Node`))], ts.NodeFlags.Const)),
159
- factory.createTypeAliasDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Commands'), undefined, factory.createTypeLiteralNode([...Object.values(nodeClassDef.commands).map(createCommandSignature)])),
160
- factory.createTypeAliasDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Drivers'), undefined, factory.createTypeLiteralNode([...Object.values(nodeClassDef.drivers).map(createDriverSignature)]))
153
+ factory.createTypeAliasDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Commands'), undefined, factory.createTypeLiteralNode([...Object.values(nodeClassDef.commands).map(NodeClassFactory.instance.createCommandSignature)])),
154
+ factory.createTypeAliasDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Drivers'), undefined, factory.createTypeLiteralNode([...Object.values(nodeClassDef.drivers).map(NodeClassFactory.instance.createDriverSignature)]))
161
155
  ]), ts.NodeFlags.Namespace)
162
156
  ];
163
157
  //let f = createWrappedNode(sf);
@@ -199,87 +193,137 @@ export class NodeClassFactory extends CodeFactory {
199
193
  let modules = [];
200
194
  for (const family of NodeClassDefinition.Map.keys()) {
201
195
  var t = this.generateClassesForFamily(family);
202
- modules.push(buildClassIndex(family, t));
196
+ modules.push(NodeClassFactory.buildClassIndex(family, t));
203
197
  }
204
198
  return modules;
205
199
  }
206
200
  static generateClassesForFamily(family) {
207
- return this.buildNodeClasses(NodeClassDefinition.Map.get(family));
201
+ return NodeClassFactory.buildNodeClasses(NodeClassDefinition.Map.get(family));
208
202
  }
209
- }
210
- // #endregion Classes (1)
211
- // #region Functions (12)
212
- function buildClassIndex(family, classes) {
213
- return {
214
- family,
215
- path: `/${Family[family]}/Generated/index.ts`,
216
- statements: [...classes.map((p) => factory.createExportDeclaration(undefined, false, undefined, factory.createStringLiteral(`./${p.name}.js`), undefined))]
217
- };
218
- }
219
- function createCommandMethodDeclaration(def) {
220
- return factory.createMethodDeclaration([factory.createToken(ts.SyntaxKind.AsyncKeyword)], undefined, factory.createIdentifier(def.name), undefined, undefined, def.parameters ? Object.values(def.parameters).map(createParameterDeclarationSignature) : undefined, undefined, NodeClassFactory.instance.createBlock(factory.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('sendCommand')), undefined, [
221
- factory.createStringLiteral(def.id),
222
- ...(def.parameters ?
223
- [
224
- factory.createObjectLiteralExpression([...Object.values(def.parameters).map((p) => factory.createPropertyAssignment(factory.createIdentifier(p.id ?? 'value'), factory.createIdentifier(p.name ?? 'value')))], false)
225
- ]
226
- : [])
227
- ]))));
228
- }
229
- function createCommandParameterType(def, parent) {
230
- if (def.enum) {
231
- {
232
- if (EnumDefinitionMap.has(parent.classDef.family)) {
233
- var enumDef = EnumDefinitionMap.get(parent.classDef.family)[def.indexId];
234
- // ?? EnumDefinitionMap[Family.Global]?[def.indexId]
235
- if (enumDef) {
236
- return factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(Family[parent.classDef.family]), factory.createIdentifier(enumDef.name)), undefined);
203
+ // #region Functions (12)
204
+ static buildClassIndex(family, classes) {
205
+ return {
206
+ family,
207
+ path: `/${Family[family]}/Generated/index.ts`,
208
+ statements: [...classes.map((p) => factory.createExportDeclaration(undefined, false, undefined, factory.createStringLiteral(`./${p.name}.js`), undefined))]
209
+ };
210
+ }
211
+ createCommandArguments(def) {
212
+ let c = [
213
+ factory.createStringLiteral(def.id)
214
+ ];
215
+ let n = [];
216
+ let r = [];
217
+ if (def.parameters) {
218
+ for (let p in def.parameters) {
219
+ let p2 = def.parameters[p];
220
+ if (!p2?.id || p2.id == 'value') {
221
+ n.push(factory.createIdentifier(p2.name ?? 'value'));
222
+ }
223
+ else {
224
+ r.push(p2);
237
225
  }
238
226
  }
239
- if (def.values) {
240
- return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
227
+ }
228
+ let fnl = [...c, ...n,
229
+ ...(r.length > 0 ? [factory.createObjectLiteralExpression(r.map((q) => factory.createPropertyAssignment(factory.createIdentifier(q.id ?? 'value'), factory.createIdentifier(q.name ?? 'value'))), false)] : [])
230
+ ];
231
+ return fnl.length > 0 ? fnl : undefined;
232
+ }
233
+ createCommandMethodDeclaration(def) {
234
+ return factory.createMethodDeclaration([factory.createToken(ts.SyntaxKind.AsyncKeyword)], undefined, factory.createIdentifier(def.name), undefined, undefined, def.parameters ? Object.values(def.parameters).map(NodeClassFactory.instance.createParameterDeclarationSignature.bind(this)) : undefined, undefined, factory.createBlock([factory.createReturnStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('sendCommand')), undefined, NodeClassFactory.instance.createCommandArguments(def)))]));
235
+ }
236
+ createCommandParameterType(def, parent) {
237
+ if (def.enum) {
238
+ {
239
+ if (EnumDefinitionMap.has(parent.classDef.family)) {
240
+ var enumDef = EnumDefinitionMap.get(parent.classDef.family)[def.indexId];
241
+ // ?? EnumDefinitionMap[Family.Global]?[def.indexId]
242
+ if (enumDef) {
243
+ return factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(Family[parent.classDef.family]), factory.createIdentifier(enumDef.name)), undefined);
244
+ }
245
+ }
246
+ if (def.values) {
247
+ return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
248
+ }
249
+ // return NodeClassFactory.instance.createUnionTypeNode(...
250
+ // Object.values(def.values).map((p) => factory.createTypeReferenceNode(
251
+ // factory.createQualifiedName(
252
+ // factory.createIdentifier("UnitOfMeasure"),
253
+ // factory.createIdentifier(UnitOfMeasure)
254
+ // ),
255
+ // undefined
256
+ // )))
241
257
  }
242
- // return NodeClassFactory.instance.createUnionTypeNode(...
243
- // Object.values(def.values).map((p) => factory.createTypeReferenceNode(
244
- // factory.createQualifiedName(
245
- // factory.createIdentifier("UnitOfMeasure"),
246
- // factory.createIdentifier(UnitOfMeasure)
247
- // ),
248
- // undefined
249
- // )))
250
258
  }
259
+ return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
251
260
  }
252
- return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
253
- }
254
- function createCommandSignature(def) {
255
- return factory.createPropertySignature(undefined, factory.createIdentifier(def.id), undefined, factory.createIntersectionTypeNode([
256
- factory.createParenthesizedType(factory.createFunctionTypeNode(undefined, def.parameters ? Object.values(def.parameters).map(createParameterSignature) : [], factory.createTypeReferenceNode(factory.createIdentifier('Promise'), [factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword)]))),
257
- factory.createTypeLiteralNode([
261
+ createCommandSignature(def) {
262
+ const that = this;
263
+ return factory.createPropertySignature(undefined, factory.createIdentifier(def.id), undefined, factory.createIntersectionTypeNode([
264
+ factory.createParenthesizedType(factory.createFunctionTypeNode(undefined, def.parameters ? Object.values(def.parameters).map(p => NodeClassFactory.instance.createParameterSignature(p)) : [], factory.createTypeReferenceNode(factory.createIdentifier('Promise'), [factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword)]))),
265
+ factory.createTypeLiteralNode([
266
+ factory.createPropertySignature(undefined, factory.createIdentifier('label'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.label))),
267
+ factory.createPropertySignature(undefined, factory.createIdentifier('name'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.name)))
268
+ ])
269
+ ]));
270
+ }
271
+ createDriverGetDeclaration(def) {
272
+ return factory.createGetAccessorDeclaration([factory.createToken(ts.SyntaxKind.PublicKeyword)], factory.createIdentifier(def.name), [], NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createDriverPropertyReturnType(p, def))), factory.createBlock([
273
+ factory.createReturnStatement(factory.createPropertyAccessChain(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('drivers')), factory.createIdentifier(def.id)), factory.createToken(ts.SyntaxKind.QuestionDotToken), factory.createIdentifier('value')))
274
+ ], true));
275
+ }
276
+ createDriverInitializationStatement(def) {
277
+ return factory.createExpressionStatement(factory.createBinaryExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('drivers')), factory.createIdentifier(def.id)), factory.createToken(ts.SyntaxKind.EqualsToken), factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('Driver'), factory.createIdentifier('create')), undefined, [
278
+ factory.createStringLiteral(def.id),
279
+ factory.createThis(),
280
+ factory.createAsExpression(factory.createPropertyAccessExpression(factory.createIdentifier('nodeInfo'), factory.createIdentifier('property')), factory.createTypeReferenceNode(factory.createIdentifier('DriverState'), undefined)),
281
+ factory.createObjectLiteralExpression([
282
+ factory.createPropertyAssignment(factory.createIdentifier('uom'), factory.createPropertyAccessExpression(factory.createIdentifier('UnitOfMeasure'), factory.createIdentifier(UnitOfMeasure[def.dataType[0]?.uom] ?? 'Unknown'))),
283
+ factory.createPropertyAssignment(factory.createIdentifier('label'), factory.createStringLiteral(def.label)),
284
+ factory.createPropertyAssignment(factory.createIdentifier('name'), factory.createStringLiteral(def.name))
285
+ ], false)
286
+ ])));
287
+ }
288
+ createDriverPropertyReturnType(def, parent) {
289
+ if (def.enum) {
290
+ {
291
+ if (EnumDefinitionMap.has(parent.classDef.family)) {
292
+ var enumDef = EnumDefinitionMap.get(parent.classDef.family)[def.indexId];
293
+ // ?? EnumDefinitionMap[Family.Global]?[def.indexId]
294
+ if (enumDef) {
295
+ return factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(Family[parent.classDef.family]), factory.createIdentifier(enumDef.name)), undefined);
296
+ }
297
+ }
298
+ if (def.values) {
299
+ return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
300
+ }
301
+ // return NodeClassFactory.instance.createUnionTypeNode(...
302
+ // Object.values(def.values).map((p) => factory.createTypeReferenceNode(
303
+ // factory.createQualifiedName(
304
+ // factory.createIdentifier("UnitOfMeasure"),
305
+ // factory.createIdentifier(UnitOfMeasure)
306
+ // ),
307
+ // undefined
308
+ // )))
309
+ }
310
+ }
311
+ return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
312
+ }
313
+ createDriverSignature(def) {
314
+ return factory.createPropertySignature(undefined, factory.createIdentifier(def.id), undefined, factory.createTypeLiteralNode([
315
+ factory.createPropertySignature(undefined, factory.createIdentifier('uom'), undefined, def.dataType ?
316
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createTypeNodeForUOM(p.uom)))
317
+ : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)),
318
+ factory.createPropertySignature(undefined, factory.createIdentifier('value'), undefined, def.dataType ?
319
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType.map((p) => NodeClassFactory.instance.createDriverSignatureReturnType(p, def)))
320
+ : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)),
258
321
  factory.createPropertySignature(undefined, factory.createIdentifier('label'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.label))),
259
322
  factory.createPropertySignature(undefined, factory.createIdentifier('name'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.name)))
260
- ])
261
- ]));
262
- }
263
- function createDriverGetDeclaration(def) {
264
- return factory.createGetAccessorDeclaration([factory.createToken(ts.SyntaxKind.PublicKeyword)], factory.createIdentifier(def.name), [], NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => createDriverPropertyReturnType(p, def))), factory.createBlock([
265
- factory.createReturnStatement(factory.createPropertyAccessChain(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('drivers')), factory.createIdentifier(def.id)), factory.createToken(ts.SyntaxKind.QuestionDotToken), factory.createIdentifier('value')))
266
- ], true));
267
- }
268
- function createDriverInitializationStatement(def) {
269
- return factory.createExpressionStatement(factory.createBinaryExpression(factory.createPropertyAccessExpression(factory.createPropertyAccessExpression(factory.createThis(), factory.createIdentifier('drivers')), factory.createIdentifier(def.id)), factory.createToken(ts.SyntaxKind.EqualsToken), factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('Driver'), factory.createIdentifier('create')), undefined, [
270
- factory.createStringLiteral(def.id),
271
- factory.createThis(),
272
- factory.createAsExpression(factory.createPropertyAccessExpression(factory.createIdentifier('nodeInfo'), factory.createIdentifier('property')), factory.createTypeReferenceNode(factory.createIdentifier('DriverState'), undefined)),
273
- factory.createObjectLiteralExpression([
274
- factory.createPropertyAssignment(factory.createIdentifier('uom'), factory.createPropertyAccessExpression(factory.createIdentifier('UnitOfMeasure'), factory.createIdentifier(UnitOfMeasure[parseInt(Object.keys(def.dataType)[0])] ?? 'Unknown'))),
275
- factory.createPropertyAssignment(factory.createIdentifier('label'), factory.createStringLiteral(def.label)),
276
- factory.createPropertyAssignment(factory.createIdentifier('name'), factory.createStringLiteral(def.name))
277
- ], false)
278
- ])));
279
- }
280
- function createDriverPropertyReturnType(def, parent) {
281
- if (def.enum) {
282
- {
323
+ ]));
324
+ }
325
+ createDriverSignatureReturnType(def, parent) {
326
+ if (def.enum) {
283
327
  if (EnumDefinitionMap.has(parent.classDef.family)) {
284
328
  var enumDef = EnumDefinitionMap.get(parent.classDef.family)[def.indexId];
285
329
  // ?? EnumDefinitionMap[Family.Global]?[def.indexId]
@@ -290,57 +334,23 @@ function createDriverPropertyReturnType(def, parent) {
290
334
  if (def.values) {
291
335
  return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
292
336
  }
293
- // return NodeClassFactory.instance.createUnionTypeNode(...
294
- // Object.values(def.values).map((p) => factory.createTypeReferenceNode(
295
- // factory.createQualifiedName(
296
- // factory.createIdentifier("UnitOfMeasure"),
297
- // factory.createIdentifier(UnitOfMeasure)
298
- // ),
299
- // undefined
300
- // )))
301
337
  }
338
+ return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
302
339
  }
303
- return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
304
- }
305
- function createDriverSignature(def) {
306
- return factory.createPropertySignature(undefined, factory.createIdentifier(def.id), undefined, factory.createTypeLiteralNode([
307
- factory.createPropertySignature(undefined, factory.createIdentifier('uom'), undefined, def.dataType ?
308
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => createTypeNodeForUOM(p.uom)))
309
- : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)),
310
- factory.createPropertySignature(undefined, factory.createIdentifier('value'), undefined, def.dataType ?
311
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => createDriverSignatureReturnType(p, def)))
312
- : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword)),
313
- factory.createPropertySignature(undefined, factory.createIdentifier('label'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.label))),
314
- factory.createPropertySignature(undefined, factory.createIdentifier('name'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.name)))
315
- ]));
316
- }
317
- function createDriverSignatureReturnType(def, parent) {
318
- if (def.enum) {
319
- if (EnumDefinitionMap.has(parent.classDef.family)) {
320
- var enumDef = EnumDefinitionMap.get(parent.classDef.family)[def.indexId];
321
- // ?? EnumDefinitionMap[Family.Global]?[def.indexId]
322
- if (enumDef) {
323
- return factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(Family[parent.classDef.family]), factory.createIdentifier(enumDef.name)), undefined);
324
- }
325
- }
326
- if (def.values) {
327
- return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
328
- }
340
+ createParameterDeclarationSignature(def) {
341
+ return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.name ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
342
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
343
+ : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), undefined);
344
+ }
345
+ createParameterSignature(def) {
346
+ return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.id ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
347
+ NodeClassFactory.instance.createUnionTypeNode(...def.dataType?.map((p) => NodeClassFactory.instance.createCommandParameterType(p, def)))
348
+ : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), undefined);
349
+ }
350
+ createTypeNodeForUOM(uom) {
351
+ return NodeClassFactory.instance.createTypeReferenceNode(UnitOfMeasure[uom] ?? 'Unknown', 'UnitOfMeasure');
329
352
  }
330
- return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
331
- }
332
- function createParameterDeclarationSignature(def) {
333
- return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.name ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
334
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => createCommandParameterType(p, def)))
335
- : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), undefined);
336
- }
337
- function createParameterSignature(def) {
338
- return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.id ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
339
- NodeClassFactory.instance.createUnionTypeNode(...Object.values(def.dataType).map((p) => createCommandParameterType(p, def)))
340
- : factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword), undefined);
341
- }
342
- function createTypeNodeForUOM(uom) {
343
- return NodeClassFactory.instance.createTypeReferenceNode(UnitOfMeasure[uom] ?? 'Unknown', 'UnitOfMeasure');
344
353
  }
354
+ // #endregion Classes (1)
345
355
  // #endregion Functions (12)
346
356
  //# sourceMappingURL=NodeClassFactory.js.map