isy-nodejs 1.0.2-alpha.2 → 1.0.2-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/CodeGeneration/NodeClassFactory.js +76 -33
- package/dist/esm/CodeGeneration/NodeClassFactory.js.map +1 -1
- package/dist/esm/CodeGeneration/NodeFactory.js +245 -0
- package/dist/esm/CodeGeneration/NodeFactory.js.map +1 -0
- package/dist/esm/Converters.js +15 -1
- package/dist/esm/Converters.js.map +1 -1
- package/dist/esm/Definitions/Global/Drivers.js.map +1 -1
- package/dist/esm/Definitions/Global/Events.js.map +1 -1
- package/dist/esm/Devices/ISYDevice.js +0 -33
- package/dist/esm/Devices/ISYDevice.js.map +1 -1
- package/dist/esm/Devices/ISYDeviceNode.js +2 -2
- package/dist/esm/Devices/ISYDeviceNode.js.map +1 -1
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleArmed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/AlertModuleSiren.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/BallastRelayLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryAlarm.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/BinaryControl.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js +75 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLamp.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js +78 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js +80 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerLampSwitchLed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js +74 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerMotorSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js +40 -0
- package/dist/esm/Devices/Insteon/Generated/DimmerSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js +45 -0
- package/dist/esm/Devices/Insteon/Generated/DoorLock.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Input.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js +47 -0
- package/dist/esm/Devices/Insteon/Generated/Ezio2x4Output.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainInput.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/EzrainOutput.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js +53 -0
- package/dist/esm/Devices/Insteon/Generated/FanLincMotor.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js +93 -0
- package/dist/esm/Devices/Insteon/Generated/I3KeypadFlags.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js +81 -0
- package/dist/esm/Devices/Insteon/Generated/I3PaddleFlags.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/ImeterSolo.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/IrLincTx.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js +46 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadButton.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js +78 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadDimmer.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js +56 -0
- package/dist/esm/Devices/Insteon/Generated/KeypadRelay.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/OnOffControl.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js +64 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js +50 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844OnOff.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js +64 -0
- package/dist/esm/Devices/Insteon/Generated/Pir2844c.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js +54 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLamp.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js +56 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js +58 -0
- package/dist/esm/Devices/Insteon/Generated/RelayLampSwitchLed.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitch.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js +44 -0
- package/dist/esm/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js +42 -0
- package/dist/esm/Devices/Insteon/Generated/RemoteLinc2.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Siren.js +66 -0
- package/dist/esm/Devices/Insteon/Generated/Siren.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js +35 -0
- package/dist/esm/Devices/Insteon/Generated/SirenAlert.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js +83 -0
- package/dist/esm/Devices/Insteon/Generated/TempLinc.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js +83 -0
- package/dist/esm/Devices/Insteon/Generated/Thermostat.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/X10.js +49 -0
- package/dist/esm/Devices/Insteon/Generated/X10.js.map +1 -0
- package/dist/esm/Devices/Insteon/Generated/index.js +39 -0
- package/dist/esm/Devices/Insteon/Generated/index.js.map +1 -0
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js +3 -4
- package/dist/esm/Devices/Insteon/InsteonBaseDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js +2 -2
- package/dist/esm/Devices/Insteon/InsteonFanDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/InsteonRelayDevice.js.map +1 -1
- package/dist/esm/Devices/Insteon/KeypadButton.js +11 -11
- package/dist/esm/Devices/Insteon/KeypadButton.js.map +1 -1
- package/dist/esm/Devices/Insteon/index.js +16 -29
- package/dist/esm/Devices/Insteon/index.js.map +1 -1
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js +45 -0
- package/dist/esm/Devices/Lutron/Generated/LoadShed.js.map +1 -0
- package/dist/esm/Devices/NodeFactory.js +45 -8
- package/dist/esm/Devices/NodeFactory.js.map +1 -1
- package/dist/esm/Devices/Scene/index.js +2 -2
- package/dist/esm/Devices/Scene/index.js.map +1 -1
- package/dist/esm/Devices/UDI/Generated/Channel.js +42 -0
- package/dist/esm/Devices/UDI/Generated/Channel.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js +54 -0
- package/dist/esm/Devices/UDI/Generated/Em3MainChannel.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Main.js +45 -0
- package/dist/esm/Devices/UDI/Generated/Main.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js +46 -0
- package/dist/esm/Devices/UDI/Generated/PulseCounter.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/Relay.js +45 -0
- package/dist/esm/Devices/UDI/Generated/Relay.js.map +1 -0
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js +38 -0
- package/dist/esm/Devices/UDI/Generated/TemperatureSensor.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js +57 -0
- package/dist/esm/Devices/ZWave/Generated/ColorSwitch.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js +65 -0
- package/dist/esm/Devices/ZWave/Generated/DimmerSwitch.js.map +1 -0
- package/dist/esm/Devices/ZWave/Generated/index.js +3 -0
- package/dist/esm/Devices/ZWave/Generated/index.js.map +1 -0
- package/dist/esm/Devices/ZWave/index.js +1 -0
- package/dist/esm/Devices/ZWave/index.js.map +1 -1
- package/dist/esm/Devices/index.js +9 -3
- package/dist/esm/Devices/index.js.map +1 -1
- package/dist/esm/ISY.js +16 -10
- package/dist/esm/ISY.js.map +1 -1
- package/dist/esm/ISYDevice.js +7 -1
- package/dist/esm/ISYDevice.js.map +1 -1
- package/dist/esm/ISYNode.js +13 -4
- package/dist/esm/ISYNode.js.map +1 -1
- package/dist/esm/ISYScene.js +13 -12
- package/dist/esm/ISYScene.js.map +1 -1
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js +13 -0
- package/dist/esm/Matter/Behaviors/BehaviorRegistry.js.map +1 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js +3 -0
- package/dist/esm/Matter/Behaviors/Insteon/ISYOnOffBehavior.js.map +1 -1
- package/dist/esm/Matter/Bridge/Server.js +66 -59
- package/dist/esm/Matter/Bridge/Server.js.map +1 -1
- package/dist/esm/Matter/Mappings/Insteon.js +28 -10
- package/dist/esm/Matter/Mappings/Insteon.js.map +1 -1
- package/dist/esm/Model/ClassDefinition.js +22 -3
- package/dist/esm/Model/ClassDefinition.js.map +1 -1
- package/dist/esm/Model/ClusterMap.js +45 -19
- package/dist/esm/Model/ClusterMap.js.map +1 -1
- package/dist/esm/Model/NodeInfo.js +1 -1
- package/dist/esm/Model/NodeInfo.js.map +1 -1
- package/dist/esm/Utils.js.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts +6 -3
- package/dist/esm/types/CodeGeneration/NodeClassFactory.d.ts.map +1 -1
- package/dist/esm/types/CodeGeneration/NodeFactory.d.ts +75 -0
- package/dist/esm/types/CodeGeneration/NodeFactory.d.ts.map +1 -0
- package/dist/esm/types/Converters.d.ts +8 -2
- package/dist/esm/types/Converters.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Drivers.d.ts.map +1 -1
- package/dist/esm/types/Definitions/Global/Events.d.ts +2 -2
- package/dist/esm/types/Definitions/Global/Events.d.ts.map +1 -1
- package/dist/esm/types/Devices/DeviceMap.d.ts +1 -1
- package/dist/esm/types/Devices/DeviceMap.d.ts.map +1 -1
- package/dist/esm/types/Devices/EndpointFor.d.ts +7 -5
- package/dist/esm/types/Devices/EndpointFor.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts +5 -13
- package/dist/esm/types/Devices/ISYDeviceNode.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleArmed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/AlertModuleSiren.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/BallastRelayLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryAlarm.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/BinaryControl.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts +144 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLamp.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts +150 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts +156 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerLampSwitchLed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts +138 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerMotorSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts +51 -0
- package/dist/esm/types/Devices/Insteon/Generated/DimmerSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/DoorLock.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Input.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts +70 -0
- package/dist/esm/types/Devices/Insteon/Generated/Ezio2x4Output.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainInput.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/EzrainOutput.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/FanLincMotor.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts +168 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3KeypadFlags.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts +142 -0
- package/dist/esm/types/Devices/Insteon/Generated/I3PaddleFlags.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts +71 -0
- package/dist/esm/types/Devices/Insteon/Generated/ImeterSolo.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts +51 -0
- package/dist/esm/types/Devices/Insteon/Generated/IrLincTx.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts +64 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadButton.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts +150 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadDimmer.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts +94 -0
- package/dist/esm/types/Devices/Insteon/Generated/KeypadRelay.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts +44 -0
- package/dist/esm/types/Devices/Insteon/Generated/OnOffControl.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts +98 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844OnOff.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts +98 -0
- package/dist/esm/types/Devices/Insteon/Generated/Pir2844c.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts +88 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLamp.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts +94 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts +100 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelayLampSwitchLed.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts +57 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts +63 -0
- package/dist/esm/types/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts +52 -0
- package/dist/esm/types/Devices/Insteon/Generated/RemoteLinc2.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts +109 -0
- package/dist/esm/types/Devices/Insteon/Generated/Siren.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts +37 -0
- package/dist/esm/types/Devices/Insteon/Generated/SirenAlert.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts +148 -0
- package/dist/esm/types/Devices/Insteon/Generated/TempLinc.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts +148 -0
- package/dist/esm/types/Devices/Insteon/Generated/Thermostat.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts +76 -0
- package/dist/esm/types/Devices/Insteon/Generated/X10.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/Generated/index.d.ts +39 -0
- package/dist/esm/types/Devices/Insteon/Generated/index.d.ts.map +1 -0
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts +4 -10
- package/dist/esm/types/Devices/Insteon/InsteonBaseDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts +22 -28
- package/dist/esm/types/Devices/Insteon/InsteonDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts +3 -3
- package/dist/esm/types/Devices/Insteon/InsteonFanDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonLeakSensorDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/InsteonRelayDevice.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts +19 -19
- package/dist/esm/types/Devices/Insteon/KeypadButton.d.ts.map +1 -1
- package/dist/esm/types/Devices/Insteon/index.d.ts +6 -42
- package/dist/esm/types/Devices/Insteon/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts +64 -0
- package/dist/esm/types/Devices/Lutron/Generated/LoadShed.d.ts.map +1 -0
- package/dist/esm/types/Devices/NodeFactory.d.ts +18 -7
- package/dist/esm/types/Devices/NodeFactory.d.ts.map +1 -1
- package/dist/esm/types/Devices/Scene/index.d.ts +2 -1
- package/dist/esm/types/Devices/Scene/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts +51 -0
- package/dist/esm/types/Devices/UDI/Generated/Channel.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts +72 -0
- package/dist/esm/types/Devices/UDI/Generated/Em3MainChannel.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts +59 -0
- package/dist/esm/types/Devices/UDI/Generated/Main.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts +58 -0
- package/dist/esm/types/Devices/UDI/Generated/PulseCounter.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts +64 -0
- package/dist/esm/types/Devices/UDI/Generated/Relay.d.ts.map +1 -0
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts +44 -0
- package/dist/esm/types/Devices/UDI/Generated/TemperatureSensor.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts +90 -0
- package/dist/esm/types/Devices/ZWave/Generated/ColorSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts +124 -0
- package/dist/esm/types/Devices/ZWave/Generated/DimmerSwitch.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/Generated/index.d.ts +3 -0
- package/dist/esm/types/Devices/ZWave/Generated/index.d.ts.map +1 -0
- package/dist/esm/types/Devices/ZWave/index.d.ts.map +1 -1
- package/dist/esm/types/Devices/index.d.ts +7 -21
- package/dist/esm/types/Devices/index.d.ts.map +1 -1
- package/dist/esm/types/ISY.d.ts.map +1 -1
- package/dist/esm/types/ISYDevice.d.ts +19 -28
- package/dist/esm/types/ISYDevice.d.ts.map +1 -1
- package/dist/esm/types/ISYNode.d.ts +25 -8
- package/dist/esm/types/ISYNode.d.ts.map +1 -1
- package/dist/esm/types/ISYScene.d.ts +5 -6
- package/dist/esm/types/ISYScene.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts +11 -0
- package/dist/esm/types/Matter/Behaviors/BehaviorRegistry.d.ts.map +1 -0
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts +1 -4
- package/dist/esm/types/Matter/Behaviors/ISYBridgedDeviceBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts +5 -4
- package/dist/esm/types/Matter/Behaviors/Insteon/ISYOnOffBehavior.d.ts.map +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts +1 -1
- package/dist/esm/types/Matter/Bridge/Server.d.ts.map +1 -1
- package/dist/esm/types/Model/ClassDefinition.d.ts +6 -2
- package/dist/esm/types/Model/ClassDefinition.d.ts.map +1 -1
- package/dist/esm/types/Model/ClusterMap.d.ts +12 -21
- package/dist/esm/types/Model/ClusterMap.d.ts.map +1 -1
- package/dist/esm/types/Model/EnumDefinition.d.ts +1 -1
- package/dist/esm/types/Utils.d.ts +18 -0
- package/dist/esm/types/Utils.d.ts.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/src/CodeGeneration/NodeClassFactory.ts +144 -39
- package/src/CodeGeneration/NodeFactory.ts +341 -0
- package/src/Converters.ts +24 -4
- package/src/Definitions/Global/Drivers.ts +1 -0
- package/src/Definitions/Global/Events.ts +3 -3
- package/src/Devices/Brultech/Generated/Channel.ts +8 -6
- package/src/Devices/Brultech/Generated/Main.ts +9 -9
- package/src/Devices/DeviceMap.ts +1 -1
- package/src/Devices/ISYDevice.ts +8 -57
- package/src/Devices/ISYDeviceNode.ts +143 -166
- package/src/Devices/Insteon/Generated/AlertModuleArmed.ts +13 -21
- package/src/Devices/Insteon/Generated/AlertModuleSiren.ts +18 -29
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitch.ts +18 -29
- package/src/Devices/Insteon/Generated/BinaryAlarm.ts +14 -17
- package/src/Devices/Insteon/Generated/BinaryControl.ts +14 -17
- package/src/Devices/Insteon/Generated/DimmerLamp.ts +25 -51
- package/src/Devices/Insteon/Generated/DimmerLampSwitch.ts +36 -64
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLed.ts +31 -60
- package/src/Devices/Insteon/Generated/DimmerMotorSwitch.ts +24 -47
- package/src/Devices/Insteon/Generated/DimmerSwitch.ts +13 -14
- package/src/Devices/Insteon/Generated/DoorLock.ts +11 -15
- package/src/Devices/Insteon/Generated/Ezio2x4Input.ts +12 -11
- package/src/Devices/Insteon/Generated/Ezio2x4Output.ts +12 -18
- package/src/Devices/Insteon/Generated/EzrainInput.ts +12 -11
- package/src/Devices/Insteon/Generated/EzrainOutput.ts +20 -28
- package/src/Devices/Insteon/Generated/FanLincMotor.ts +15 -27
- package/src/Devices/Insteon/Generated/I3KeypadFlags.ts +19 -39
- package/src/Devices/Insteon/Generated/I3PaddleFlags.ts +17 -33
- package/src/Devices/Insteon/Generated/ImeterSolo.ts +11 -15
- package/src/Devices/Insteon/Generated/IrLincTx.ts +10 -12
- package/src/Devices/Insteon/Generated/{KeypadButtonAdv.ts → KeypadButton.ts} +23 -26
- package/src/Devices/Insteon/Generated/KeypadDimmer.ts +30 -57
- package/src/Devices/Insteon/Generated/KeypadRelay.ts +30 -43
- package/src/Devices/Insteon/Generated/OnOffControl.ts +15 -12
- package/src/Devices/Insteon/Generated/Pir2844.ts +15 -20
- package/src/Devices/Insteon/Generated/Pir2844OnOff.ts +16 -23
- package/src/Devices/Insteon/Generated/Pir2844c.ts +15 -20
- package/src/Devices/Insteon/Generated/RelayLamp.ts +29 -41
- package/src/Devices/Insteon/Generated/RelayLampSwitch.ts +29 -42
- package/src/Devices/Insteon/Generated/RelayLampSwitchLed.ts +24 -39
- package/src/Devices/Insteon/Generated/RelaySwitch.ts +14 -17
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQuery.ts +15 -20
- package/src/Devices/Insteon/Generated/RemoteLinc2.ts +12 -11
- package/src/Devices/Insteon/Generated/Siren.ts +18 -29
- package/src/Devices/Insteon/Generated/SirenAlert.ts +11 -8
- package/src/Devices/Insteon/Generated/TempLinc.ts +18 -36
- package/src/Devices/Insteon/Generated/Thermostat.ts +18 -36
- package/src/Devices/Insteon/Generated/X10.ts +13 -21
- package/src/Devices/Insteon/Generated/index.ts +38 -0
- package/src/Devices/Insteon/InsteonBaseDevice.ts +5 -4
- package/src/Devices/Insteon/InsteonFanDevice.ts +3 -4
- package/src/Devices/Insteon/InsteonRelayDevice.ts +1 -0
- package/src/Devices/Insteon/KeypadButton.ts +31 -31
- package/src/Devices/Insteon/index.ts +18 -26
- package/src/Devices/Lutron/Generated/LoadShed.ts +11 -15
- package/src/Devices/NCD/Generated/Relay.ts +12 -18
- package/src/Devices/NodeFactory.ts +67 -13
- package/src/Devices/Poly/Generated/MatterBridge.ts +84 -0
- package/src/Devices/Scene/Generated/Scene.ts +33 -65
- package/src/Devices/Scene/index.ts +2 -1
- package/src/Devices/UDI/Generated/Channel.ts +8 -6
- package/src/Devices/UDI/Generated/Em3MainChannel.ts +8 -6
- package/src/Devices/UDI/Generated/Main.ts +9 -9
- package/src/Devices/UDI/Generated/PulseCounter.ts +8 -6
- package/src/Devices/UDI/Generated/Relay.ts +11 -15
- package/src/Devices/UDI/Generated/TemperatureSensor.ts +8 -6
- package/src/Devices/ZWave/Generated/ColorSwitch.ts +16 -24
- package/src/Devices/ZWave/Generated/DimmerSwitch.ts +25 -49
- package/src/Devices/ZWave/Generated/index.ts +2 -0
- package/src/Devices/ZWave/index.ts +5 -1
- package/src/Devices/ZigBeeLegacy/Generated/Relay.ts +12 -18
- package/src/Devices/ZigBeeLegacy/Generated/Thermostat.ts +17 -33
- package/src/Devices/index.ts +17 -12
- package/src/ISY.ts +11 -4
- package/src/ISYDevice.ts +68 -57
- package/src/ISYNode.ts +32 -8
- package/src/ISYScene.ts +31 -28
- package/src/Matter/Behaviors/BehaviorRegistry.ts +26 -0
- package/src/Matter/Behaviors/Insteon/ISYOnOffBehavior.ts +6 -0
- package/src/Matter/Bridge/Server.ts +42 -18
- package/src/Matter/Mappings/Insteon.ts +39 -14
- package/src/Model/ClassDefinition.ts +34 -4
- package/src/Model/ClusterMap.ts +73 -57
- package/src/Model/NodeInfo.ts +1 -1
- package/src/Utils.ts +38 -0
- package/tsconfig.json +7 -1
- package/src/Devices/Insteon/Generated/AlertModuleSirenAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/BallastRelayLampSwitchAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/BinaryAlarmAdv.ts +0 -91
- package/src/Devices/Insteon/Generated/BinaryControlAdv.ts +0 -91
- package/src/Devices/Insteon/Generated/DimmerLampSwitchAdv.ts +0 -207
- package/src/Devices/Insteon/Generated/DimmerLampSwitchLedAdv.ts +0 -215
- package/src/Devices/Insteon/Generated/DimmerMotorSwitchAdv.ts +0 -191
- package/src/Devices/Insteon/Generated/DimmerSwitchOnlyAdv.ts +0 -73
- package/src/Devices/Insteon/Generated/Ezio2x4InputAdv.ts +0 -75
- package/src/Devices/Insteon/Generated/EzrainInputAdv.ts +0 -75
- package/src/Devices/Insteon/Generated/KeypadDimmerAdv.ts +0 -207
- package/src/Devices/Insteon/Generated/KeypadRelayAdv.ts +0 -131
- package/src/Devices/Insteon/Generated/OnOffControlAdv.ts +0 -65
- package/src/Devices/Insteon/Generated/Pir2844Adv.ts +0 -139
- package/src/Devices/Insteon/Generated/Pir2844OnOffAdv.ts +0 -107
- package/src/Devices/Insteon/Generated/Pir2844cAdv.ts +0 -139
- package/src/Devices/Insteon/Generated/RelayLampOnlyAdv.ts +0 -123
- package/src/Devices/Insteon/Generated/RelayLampSwitchAdv.ts +0 -131
- package/src/Devices/Insteon/Generated/RelayLampSwitchLedAdv.ts +0 -139
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyAdv.ts +0 -81
- package/src/Devices/Insteon/Generated/RelaySwitchOnlyPlusQueryAdv.ts +0 -89
- package/src/Devices/Insteon/Generated/RemoteLinc2Adv.ts +0 -75
- package/src/Devices/Insteon/Generated/SirenArm.ts +0 -55
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { IndentationText, Project, QuoteKind, ts } from 'ts-morph';
|
|
2
2
|
import { factory } from 'typescript';
|
|
3
3
|
import { UnitOfMeasure } from '../Definitions/Global/UOM.js';
|
|
4
|
+
import { Family } from '../Definitions/index.js';
|
|
4
5
|
import { NodeClassDefinition } from '../Model/ClassDefinition.js';
|
|
5
6
|
import { EnumDefinitionMap } from '../Model/EnumDefinition.js';
|
|
6
|
-
import {
|
|
7
|
+
import { CodeFactory } from './NodeFactory.js';
|
|
7
8
|
// #endregion Type aliases (1)
|
|
8
9
|
// #region Classes (1)
|
|
9
|
-
export class NodeClassFactory {
|
|
10
|
+
export class NodeClassFactory extends CodeFactory {
|
|
10
11
|
// #region Properties (2)
|
|
11
12
|
static _basePath;
|
|
12
13
|
static project = new Project({
|
|
@@ -20,6 +21,7 @@ export class NodeClassFactory {
|
|
|
20
21
|
insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: true
|
|
21
22
|
}
|
|
22
23
|
});
|
|
24
|
+
static instance = new NodeClassFactory(ts.factory);
|
|
23
25
|
// #endregion Properties (2)
|
|
24
26
|
// #region Public Static Getters And Setters (2)
|
|
25
27
|
static get basePath() {
|
|
@@ -31,9 +33,19 @@ export class NodeClassFactory {
|
|
|
31
33
|
// #endregion Public Static Getters And Setters (2)
|
|
32
34
|
// #region Public Static Methods (4)
|
|
33
35
|
static buildNodeClasses(map) {
|
|
34
|
-
return Object.values(map)
|
|
36
|
+
return Object.values(map)
|
|
37
|
+
.filter((p) => !p.equivalentTo)
|
|
38
|
+
.map((p) => {
|
|
39
|
+
try {
|
|
40
|
+
return NodeClassFactory.instance.createNodeClass(p);
|
|
41
|
+
}
|
|
42
|
+
catch (e) {
|
|
43
|
+
console.error(e);
|
|
44
|
+
}
|
|
45
|
+
});
|
|
35
46
|
}
|
|
36
|
-
|
|
47
|
+
N;
|
|
48
|
+
createNodeClass(nodeClassDef) {
|
|
37
49
|
let path = `${NodeClassFactory.basePath}/${Family[nodeClassDef.family]}/Generated/${nodeClassDef.name}.ts`;
|
|
38
50
|
let sf = ts.createSourceFile(path, '', ts.ScriptTarget.ES2023, true, ts.ScriptKind.TS);
|
|
39
51
|
//@ts-expect-error
|
|
@@ -41,7 +53,7 @@ export class NodeClassFactory {
|
|
|
41
53
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('UnitOfMeasure'))])), factory.createStringLiteral('../../../Definitions/Global/UOM.js'), undefined),
|
|
42
54
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('Family'))])), factory.createStringLiteral('../../../Definitions/Global/Families.js'), undefined),
|
|
43
55
|
factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('NodeInfo'))])), factory.createStringLiteral('../../../Model/NodeInfo.js'), undefined),
|
|
44
|
-
|
|
56
|
+
this.createImportDeclaration('../../../ISY.js', ['ISY']),
|
|
45
57
|
factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('ISYNode'))])), factory.createStringLiteral('../../../ISYNode.js'), undefined),
|
|
46
58
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('Base'))])), factory.createStringLiteral('../index.js'), undefined),
|
|
47
59
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('ISYDeviceNode'))])), factory.createStringLiteral('../../ISYDeviceNode.js'), undefined),
|
|
@@ -49,7 +61,7 @@ export class NodeClassFactory {
|
|
|
49
61
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier(Family[nodeClassDef.family]))])), factory.createStringLiteral('../../../Definitions/index.js'), undefined),
|
|
50
62
|
factory.createImportDeclaration(undefined, factory.createImportClause(true, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('DriverState'))])), factory.createStringLiteral('../../../Model/DriverState.js'), undefined),
|
|
51
63
|
factory.createImportDeclaration(undefined, factory.createImportClause(false, undefined, factory.createNamedImports([factory.createImportSpecifier(false, undefined, factory.createIdentifier('NodeFactory'))])), factory.createStringLiteral('../../NodeFactory.js'), undefined),
|
|
52
|
-
factory.createVariableStatement(
|
|
64
|
+
factory.createVariableStatement(undefined, factory.createVariableDeclarationList([factory.createVariableDeclaration(factory.createIdentifier('nodeDefId'), undefined, undefined, factory.createStringLiteral(nodeClassDef.id))], ts.NodeFlags.Const)),
|
|
53
65
|
factory.createTypeAliasDeclaration(undefined, factory.createIdentifier('Commands'), undefined, factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(nodeClassDef.name), factory.createIdentifier('Commands')), undefined)),
|
|
54
66
|
factory.createTypeAliasDeclaration(undefined, factory.createIdentifier('Drivers'), undefined, factory.createTypeReferenceNode(factory.createQualifiedName(factory.createIdentifier(nodeClassDef.name), factory.createIdentifier('Drivers')), undefined)),
|
|
55
67
|
factory.createClassDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier(`${nodeClassDef.name}Node`), undefined, [
|
|
@@ -74,7 +86,12 @@ export class NodeClassFactory {
|
|
|
74
86
|
// factory.createObjectLiteralExpression([], false)
|
|
75
87
|
// ),
|
|
76
88
|
factory.createPropertyDeclaration([factory.createToken(ts.SyntaxKind.StaticKeyword), factory.createToken(ts.SyntaxKind.OverrideKeyword)], factory.createIdentifier('nodeDefId'), undefined, undefined, factory.createStringLiteral(nodeClassDef.id)),
|
|
77
|
-
|
|
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)),
|
|
92
|
+
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),
|
|
78
95
|
factory.createConstructorDeclaration(undefined, [
|
|
79
96
|
factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('isy'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISY'), undefined), undefined),
|
|
80
97
|
factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('nodeInfo'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('NodeInfo'), undefined), undefined)
|
|
@@ -88,11 +105,17 @@ export class NodeClassFactory {
|
|
|
88
105
|
factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('NodeFactory'), factory.createIdentifier('register')), undefined, [
|
|
89
106
|
factory.createIdentifier(`${nodeClassDef.name}Node`)
|
|
90
107
|
])),
|
|
108
|
+
...(nodeClassDef.equivalents ?
|
|
109
|
+
nodeClassDef.equivalents?.map((p) => factory.createExpressionStatement(factory.createCallExpression(factory.createPropertyAccessExpression(factory.createIdentifier('NodeFactory'), factory.createIdentifier('register')), undefined, [
|
|
110
|
+
factory.createIdentifier(`${nodeClassDef.name}Node`),
|
|
111
|
+
factory.createStringLiteral(p)
|
|
112
|
+
])))
|
|
113
|
+
: []),
|
|
91
114
|
factory.createModuleDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier(nodeClassDef.name), factory.createModuleBlock([
|
|
92
115
|
factory.createInterfaceDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], factory.createIdentifier('Interface'), undefined, [
|
|
93
116
|
factory.createHeritageClause(ts.SyntaxKind.ExtendsKeyword, [
|
|
94
117
|
factory.createExpressionWithTypeArguments(factory.createIdentifier('Omit'), [
|
|
95
|
-
|
|
118
|
+
this.createTypeReferenceNode('InstanceType', this.factory.createTypeQueryNode(factory.createIdentifier(`${nodeClassDef.name}Node`))),
|
|
96
119
|
factory.createTypeOperatorNode(ts.SyntaxKind.KeyOfKeyword, factory.createTypeReferenceNode(factory.createIdentifier('ISYDeviceNode'), [
|
|
97
120
|
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
|
|
98
121
|
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
|
|
@@ -101,7 +124,11 @@ export class NodeClassFactory {
|
|
|
101
124
|
]))
|
|
102
125
|
])
|
|
103
126
|
])
|
|
104
|
-
], [
|
|
127
|
+
], [
|
|
128
|
+
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))
|
|
131
|
+
]),
|
|
105
132
|
factory.createFunctionDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], undefined, factory.createIdentifier('is'), undefined, [
|
|
106
133
|
factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('node'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISYNode'), [
|
|
107
134
|
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
|
|
@@ -109,9 +136,19 @@ export class NodeClassFactory {
|
|
|
109
136
|
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword),
|
|
110
137
|
factory.createKeywordTypeNode(ts.SyntaxKind.AnyKeyword)
|
|
111
138
|
]), undefined)
|
|
112
|
-
], factory.createTypePredicateNode(undefined, factory.createIdentifier('node'), factory.createTypeReferenceNode(factory.createIdentifier(`${nodeClassDef.name}Node`), undefined)),
|
|
113
|
-
|
|
114
|
-
|
|
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'))])))),
|
|
142
|
+
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'))])))),
|
|
115
152
|
factory.createFunctionDeclaration([factory.createToken(ts.SyntaxKind.ExportKeyword)], undefined, factory.createIdentifier('create'), undefined, [
|
|
116
153
|
factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('isy'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('ISY'), undefined), undefined),
|
|
117
154
|
factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier('nodeInfo'), undefined, factory.createTypeReferenceNode(factory.createIdentifier('NodeInfo'), undefined), undefined)
|
|
@@ -180,16 +217,14 @@ function buildClassIndex(family, classes) {
|
|
|
180
217
|
};
|
|
181
218
|
}
|
|
182
219
|
function createCommandMethodDeclaration(def) {
|
|
183
|
-
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,
|
|
184
|
-
factory.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
[
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
]))
|
|
192
|
-
], true));
|
|
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
|
+
]))));
|
|
193
228
|
}
|
|
194
229
|
function createCommandParameterType(def, parent) {
|
|
195
230
|
if (def.enum) {
|
|
@@ -202,9 +237,9 @@ function createCommandParameterType(def, parent) {
|
|
|
202
237
|
}
|
|
203
238
|
}
|
|
204
239
|
if (def.values) {
|
|
205
|
-
return
|
|
240
|
+
return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
|
|
206
241
|
}
|
|
207
|
-
// return
|
|
242
|
+
// return NodeClassFactory.instance.createUnionTypeNode(...
|
|
208
243
|
// Object.values(def.values).map((p) => factory.createTypeReferenceNode(
|
|
209
244
|
// factory.createQualifiedName(
|
|
210
245
|
// factory.createIdentifier("UnitOfMeasure"),
|
|
@@ -226,7 +261,7 @@ function createCommandSignature(def) {
|
|
|
226
261
|
]));
|
|
227
262
|
}
|
|
228
263
|
function createDriverGetDeclaration(def) {
|
|
229
|
-
return factory.createGetAccessorDeclaration([factory.createToken(ts.SyntaxKind.PublicKeyword)], factory.createIdentifier(def.name), [],
|
|
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([
|
|
230
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')))
|
|
231
266
|
], true));
|
|
232
267
|
}
|
|
@@ -253,9 +288,9 @@ function createDriverPropertyReturnType(def, parent) {
|
|
|
253
288
|
}
|
|
254
289
|
}
|
|
255
290
|
if (def.values) {
|
|
256
|
-
return
|
|
291
|
+
return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
|
|
257
292
|
}
|
|
258
|
-
// return
|
|
293
|
+
// return NodeClassFactory.instance.createUnionTypeNode(...
|
|
259
294
|
// Object.values(def.values).map((p) => factory.createTypeReferenceNode(
|
|
260
295
|
// factory.createQualifiedName(
|
|
261
296
|
// factory.createIdentifier("UnitOfMeasure"),
|
|
@@ -269,8 +304,12 @@ function createDriverPropertyReturnType(def, parent) {
|
|
|
269
304
|
}
|
|
270
305
|
function createDriverSignature(def) {
|
|
271
306
|
return factory.createPropertySignature(undefined, factory.createIdentifier(def.id), undefined, factory.createTypeLiteralNode([
|
|
272
|
-
factory.createPropertySignature(undefined, factory.createIdentifier('uom'), undefined, def.dataType ?
|
|
273
|
-
|
|
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)),
|
|
274
313
|
factory.createPropertySignature(undefined, factory.createIdentifier('label'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.label))),
|
|
275
314
|
factory.createPropertySignature(undefined, factory.createIdentifier('name'), undefined, factory.createLiteralTypeNode(factory.createStringLiteral(def.name)))
|
|
276
315
|
]));
|
|
@@ -285,19 +324,23 @@ function createDriverSignatureReturnType(def, parent) {
|
|
|
285
324
|
}
|
|
286
325
|
}
|
|
287
326
|
if (def.values) {
|
|
288
|
-
return
|
|
327
|
+
return NodeClassFactory.instance.createUnionTypeNode(...Object.keys(def.values).map((p) => factory.createLiteralTypeNode(factory.createNumericLiteral(p))));
|
|
289
328
|
}
|
|
290
329
|
}
|
|
291
330
|
return factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);
|
|
292
331
|
}
|
|
293
332
|
function createParameterDeclarationSignature(def) {
|
|
294
|
-
return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.name ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
|
|
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);
|
|
295
336
|
}
|
|
296
337
|
function createParameterSignature(def) {
|
|
297
|
-
return factory.createParameterDeclaration(undefined, undefined, factory.createIdentifier(def.id ?? 'value'), def.optional ? factory.createToken(ts.SyntaxKind.QuestionToken) : undefined, def.dataType ?
|
|
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);
|
|
298
341
|
}
|
|
299
342
|
function createTypeNodeForUOM(uom) {
|
|
300
|
-
return
|
|
343
|
+
return NodeClassFactory.instance.createTypeReferenceNode(UnitOfMeasure[uom] ?? 'Unknown', 'UnitOfMeasure');
|
|
301
344
|
}
|
|
302
345
|
// #endregion Functions (12)
|
|
303
346
|
//# sourceMappingURL=NodeClassFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeClassFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/NodeClassFactory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"NodeClassFactory.js","sourceRoot":"","sources":["../../../src/CodeGeneration/NodeClassFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
export const SyntaxKind = ts.SyntaxKind;
|
|
3
|
+
export class CodeFactory {
|
|
4
|
+
factory;
|
|
5
|
+
constructor(factory) {
|
|
6
|
+
this.factory = factory;
|
|
7
|
+
}
|
|
8
|
+
createIdentifier(name) {
|
|
9
|
+
return name ? ts.factory.createIdentifier(name) : undefined;
|
|
10
|
+
}
|
|
11
|
+
createImportClause(isTypeOnly, name, ...namedBindings) {
|
|
12
|
+
return ts.factory.createImportClause(isTypeOnly, this.createIdentifier(name), namedBindings.length ? namedBindings[0] : undefined);
|
|
13
|
+
}
|
|
14
|
+
createAssertClause(elements, multiLine) {
|
|
15
|
+
return ts.factory.createAssertClause(elements, multiLine);
|
|
16
|
+
}
|
|
17
|
+
createAssertEntry(name, value) {
|
|
18
|
+
return ts.factory.createAssertEntry(this.createIdentifier(name), value);
|
|
19
|
+
}
|
|
20
|
+
createImportTypeAssertionContainer(clause, multiLine) {
|
|
21
|
+
return ts.factory.createImportTypeAssertionContainer(clause, multiLine);
|
|
22
|
+
}
|
|
23
|
+
createImportAttributes(elements, multiLine) {
|
|
24
|
+
return ts.factory.createImportAttributes(elements, multiLine);
|
|
25
|
+
}
|
|
26
|
+
createImportAttribute(name, value) {
|
|
27
|
+
return ts.factory.createImportAttribute(this.createIdentifier(name), value);
|
|
28
|
+
}
|
|
29
|
+
createNamespaceImport(name) {
|
|
30
|
+
return ts.factory.createNamespaceImport(this.createIdentifier(name));
|
|
31
|
+
}
|
|
32
|
+
createNamespaceExport(name) {
|
|
33
|
+
return ts.factory.createNamespaceExport(this.createIdentifier(name));
|
|
34
|
+
}
|
|
35
|
+
createNamedImports(...elements) {
|
|
36
|
+
return ts.factory.createNamedImports(elements);
|
|
37
|
+
}
|
|
38
|
+
updateImportClause(node, isTypeOnly, name, ...namedBindings) {
|
|
39
|
+
return ts.factory.updateImportClause(node, isTypeOnly, this.createIdentifier(name), namedBindings.length ? namedBindings[0] : undefined);
|
|
40
|
+
}
|
|
41
|
+
updateAssertClause(node, elements, multiLine) {
|
|
42
|
+
return ts.factory.updateAssertClause(node, elements, multiLine);
|
|
43
|
+
}
|
|
44
|
+
updateAssertEntry(node, name, value) {
|
|
45
|
+
return ts.factory.updateAssertEntry(node, this.createIdentifier(name), value);
|
|
46
|
+
}
|
|
47
|
+
updateImportTypeAssertionContainer(node, clause, multiLine) {
|
|
48
|
+
return ts.factory.updateImportTypeAssertionContainer(node, clause, multiLine);
|
|
49
|
+
}
|
|
50
|
+
updateImportAttributes(node, elements, multiLine) {
|
|
51
|
+
return ts.factory.updateImportAttributes(node, elements, multiLine);
|
|
52
|
+
}
|
|
53
|
+
updateImportAttribute(node, name, value) {
|
|
54
|
+
return ts.factory.updateImportAttribute(node, this.createIdentifier(name), value);
|
|
55
|
+
}
|
|
56
|
+
updateNamespaceImport(node, name) {
|
|
57
|
+
return ts.factory.updateNamespaceImport(node, this.createIdentifier(name));
|
|
58
|
+
}
|
|
59
|
+
updateNamespaceExport(node, name) {
|
|
60
|
+
return ts.factory.updateNamespaceExport(node, this.createIdentifier(name));
|
|
61
|
+
}
|
|
62
|
+
updateNamedImports(node, ...elements) {
|
|
63
|
+
return ts.factory.updateNamedImports(node, elements);
|
|
64
|
+
}
|
|
65
|
+
// Additional methods to cover common usages in NodeClassFactory.ts
|
|
66
|
+
createImportDeclaration(moduleSpecifier, namedImports, isTypeOnly = false, importAttributes, ...modifierFlags) {
|
|
67
|
+
return ts.factory.createImportDeclaration(this.createModifiers(...modifierFlags), this.createImportClause(isTypeOnly, undefined, ts.factory.createNamedImports(namedImports.map((name) => ts.factory.createImportSpecifier(false, undefined, this.createIdentifier(name))))), ts.factory.createStringLiteral(moduleSpecifier), importAttributes);
|
|
68
|
+
}
|
|
69
|
+
createVariableStatement(name, initializer, isConst = true) {
|
|
70
|
+
return ts.factory.createVariableStatement([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], ts.factory.createVariableDeclarationList([ts.factory.createVariableDeclaration(this.createIdentifier(name), undefined, undefined, initializer)], isConst ? ts.NodeFlags.Const : ts.NodeFlags.None));
|
|
71
|
+
}
|
|
72
|
+
createTypeAliasDeclaration(name, type) {
|
|
73
|
+
return ts.factory.createTypeAliasDeclaration(undefined, this.createIdentifier(name), undefined, type);
|
|
74
|
+
}
|
|
75
|
+
createClassDeclaration(name, members, heritageClauses) {
|
|
76
|
+
return ts.factory.createClassDeclaration(this.createModifiers(ts.ModifierFlags.Export), this.createIdentifier(name), undefined, heritageClauses, members);
|
|
77
|
+
}
|
|
78
|
+
and(...flags) {
|
|
79
|
+
if (flags.length === 0) {
|
|
80
|
+
return 0;
|
|
81
|
+
}
|
|
82
|
+
return flags.reduce((acc, flag) => acc & flag, flags[0]);
|
|
83
|
+
}
|
|
84
|
+
or(...flags) {
|
|
85
|
+
if (flags.length === 0) {
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
return flags.reduce((acc, flag) => acc | flag, flags[0]);
|
|
89
|
+
}
|
|
90
|
+
createModifiers(...flags) {
|
|
91
|
+
return ts.factory.createModifiersFromModifierFlags(this.or(...flags));
|
|
92
|
+
}
|
|
93
|
+
createMethodDeclaration(name, parameters, body, isAsync = false) {
|
|
94
|
+
return ts.factory.createMethodDeclaration(isAsync ? this.createModifiers(ts.ModifierFlags.Async) : undefined, undefined, this.createIdentifier(name), undefined, undefined, parameters, undefined, body);
|
|
95
|
+
}
|
|
96
|
+
createPropertyDeclaration(name, initializer, modifiers = []) {
|
|
97
|
+
return ts.factory.createPropertyDeclaration(modifiers, this.createIdentifier(name), undefined, undefined, initializer);
|
|
98
|
+
}
|
|
99
|
+
createConstructorDeclaration(parameters, body) {
|
|
100
|
+
return ts.factory.createConstructorDeclaration(undefined, parameters, body);
|
|
101
|
+
}
|
|
102
|
+
createFunctionDeclaration(name, parameters, body, returnType) {
|
|
103
|
+
return ts.factory.createFunctionDeclaration([this.createModifier(ts.SyntaxKind.ExportKeyword)], undefined, this.createIdentifier(name), undefined, parameters, returnType, body);
|
|
104
|
+
}
|
|
105
|
+
createModifier(ExportKeyword) {
|
|
106
|
+
return ts.factory.createModifier(ExportKeyword);
|
|
107
|
+
}
|
|
108
|
+
createModuleDeclaration(name, body, ...modifierFlags) {
|
|
109
|
+
return ts.factory.createModuleDeclaration(this.createModifiers(...modifierFlags), this.createIdentifier(name), body, ts.NodeFlags.Namespace);
|
|
110
|
+
}
|
|
111
|
+
createToken(kind) {
|
|
112
|
+
return ts.factory.createToken(kind);
|
|
113
|
+
}
|
|
114
|
+
createPropertySignature(name, type, optional = false, ...modifiers) {
|
|
115
|
+
return ts.factory.createPropertySignature(this.createModifiers(...modifiers), this.createIdentifier(name), optional ? this.createToken(ts.SyntaxKind.QuestionToken) : undefined, type);
|
|
116
|
+
}
|
|
117
|
+
createTypeReferenceNode(typeName, qualifier, ...typeArguments) {
|
|
118
|
+
if (typeof qualifier === 'string') {
|
|
119
|
+
return ts.factory.createTypeReferenceNode(ts.factory.createQualifiedName(this.createIdentifier(qualifier), this.createIdentifier(typeName)), typeArguments);
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
return ts.factory.createTypeReferenceNode(this.createIdentifier(typeName), [qualifier, ...typeArguments]);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
typesEqual(a, b) {
|
|
126
|
+
if (ts.isLiteralTypeNode(a) && ts.isLiteralTypeNode(b)) {
|
|
127
|
+
if (ts.isNumericLiteral(a.literal) && ts.isNumericLiteral(b.literal)) {
|
|
128
|
+
return a.literal.text === b.literal.text;
|
|
129
|
+
}
|
|
130
|
+
else if (ts.isStringLiteral(a.literal) && ts.isStringLiteral(b.literal)) {
|
|
131
|
+
return a.literal.text === b.literal.text;
|
|
132
|
+
}
|
|
133
|
+
else if (ts.isBigIntLiteral(a.literal) && ts.isBigIntLiteral(b.literal)) {
|
|
134
|
+
return a.literal.text === b.literal.text;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (ts.isTypeReferenceNode(a) && ts.isTypeReferenceNode(b)) {
|
|
138
|
+
if (ts.isIdentifier(a.typeName) && ts.isIdentifier(b.typeName)) {
|
|
139
|
+
return a.typeName.text === b.typeName.text;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
createUnionTypeNode(...types) {
|
|
145
|
+
let t = [types[0]];
|
|
146
|
+
for (let i = 1; i < types.length; i++) {
|
|
147
|
+
if (types[i].kind !== ts.SyntaxKind.NeverKeyword) {
|
|
148
|
+
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]);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
return ts.factory.createUnionTypeNode(types);
|
|
156
|
+
}
|
|
157
|
+
createIntersectionTypeNode(types) {
|
|
158
|
+
return ts.factory.createIntersectionTypeNode(types);
|
|
159
|
+
}
|
|
160
|
+
createTypeLiteralNode(members) {
|
|
161
|
+
return ts.factory.createTypeLiteralNode(members);
|
|
162
|
+
}
|
|
163
|
+
createFunctionTypeNode(type, typeParameters, ...parameters) {
|
|
164
|
+
return ts.factory.createFunctionTypeNode(typeParameters, parameters, type);
|
|
165
|
+
}
|
|
166
|
+
createParameter(name, type, initializer, optional = false) {
|
|
167
|
+
return ts.factory.createParameterDeclaration(undefined, undefined, this.createIdentifier(name), optional ? this.createToken(ts.SyntaxKind.QuestionToken) : undefined, type, initializer);
|
|
168
|
+
}
|
|
169
|
+
createExpressionStatement(expression) {
|
|
170
|
+
return ts.factory.createExpressionStatement(expression);
|
|
171
|
+
}
|
|
172
|
+
createCallExpression(expression, typeArguments, argumentsArray) {
|
|
173
|
+
return ts.factory.createCallExpression(expression, typeArguments, argumentsArray);
|
|
174
|
+
}
|
|
175
|
+
createReturnStatement(expression) {
|
|
176
|
+
return ts.factory.createReturnStatement(expression);
|
|
177
|
+
}
|
|
178
|
+
createNewExpression(expression, typeArguments, argumentsArray) {
|
|
179
|
+
return ts.factory.createNewExpression(expression, typeArguments, argumentsArray);
|
|
180
|
+
}
|
|
181
|
+
createObjectLiteral(properties, multiLine) {
|
|
182
|
+
return ts.factory.createObjectLiteralExpression(properties, multiLine);
|
|
183
|
+
}
|
|
184
|
+
createPropertyAssignment(name, initializer) {
|
|
185
|
+
return ts.factory.createPropertyAssignment(this.createIdentifier(name), initializer);
|
|
186
|
+
}
|
|
187
|
+
createQualifiedName(left, right) {
|
|
188
|
+
return ts.factory.createQualifiedName(left, this.createIdentifier(right));
|
|
189
|
+
}
|
|
190
|
+
createLiteralTypeNode(literal) {
|
|
191
|
+
if (typeof literal === 'number') {
|
|
192
|
+
return ts.factory.createLiteralTypeNode(this.createNumericLiteral(literal));
|
|
193
|
+
}
|
|
194
|
+
return ts.factory.createLiteralTypeNode(this.createStringLiteral(literal));
|
|
195
|
+
}
|
|
196
|
+
createNumericLiteral(value) {
|
|
197
|
+
return ts.factory.createNumericLiteral(value.toString());
|
|
198
|
+
}
|
|
199
|
+
createStringLiteral(text) {
|
|
200
|
+
return ts.factory.createStringLiteral(text);
|
|
201
|
+
}
|
|
202
|
+
createKeywordTypeNode(kind) {
|
|
203
|
+
return ts.factory.createKeywordTypeNode(kind);
|
|
204
|
+
}
|
|
205
|
+
createTypePredicateNode(parameterName, type) {
|
|
206
|
+
return ts.factory.createTypePredicateNode(undefined, parameterName, type);
|
|
207
|
+
}
|
|
208
|
+
createBinaryExpression(left, operator, right) {
|
|
209
|
+
return ts.factory.createBinaryExpression(left, operator, right);
|
|
210
|
+
}
|
|
211
|
+
createPropertyAccessExpression(expression, name) {
|
|
212
|
+
return ts.factory.createPropertyAccessExpression(expression, this.createIdentifier(name));
|
|
213
|
+
}
|
|
214
|
+
createHeritageClause(token, types) {
|
|
215
|
+
return ts.factory.createHeritageClause(token, types);
|
|
216
|
+
}
|
|
217
|
+
createExpressionWithTypeArguments(expression, typeArguments) {
|
|
218
|
+
return ts.factory.createExpressionWithTypeArguments(expression, typeArguments);
|
|
219
|
+
}
|
|
220
|
+
createBlock(multiLine, ...statements) {
|
|
221
|
+
if (typeof multiLine === 'boolean') {
|
|
222
|
+
return ts.factory.createBlock(statements, multiLine);
|
|
223
|
+
}
|
|
224
|
+
return ts.factory.createBlock([multiLine, ...statements]);
|
|
225
|
+
}
|
|
226
|
+
createModuleBlock(statements) {
|
|
227
|
+
return ts.factory.createModuleBlock(statements);
|
|
228
|
+
}
|
|
229
|
+
createInterfaceDeclaration(name, members, heritageClauses) {
|
|
230
|
+
return ts.factory.createInterfaceDeclaration([ts.factory.createModifier(ts.SyntaxKind.ExportKeyword)], this.createIdentifier(name), undefined, heritageClauses, members);
|
|
231
|
+
}
|
|
232
|
+
createTypeOperatorNode(operator, type) {
|
|
233
|
+
return ts.factory.createTypeOperatorNode(operator, type);
|
|
234
|
+
}
|
|
235
|
+
createTypeQueryNode(exprName) {
|
|
236
|
+
return ts.factory.createTypeQueryNode(exprName);
|
|
237
|
+
}
|
|
238
|
+
createAsExpression(expression, type) {
|
|
239
|
+
return ts.factory.createAsExpression(expression, type);
|
|
240
|
+
}
|
|
241
|
+
createPropertyAccessChain(name, useQuestionDot = true, expression) {
|
|
242
|
+
return ts.factory.createPropertyAccessChain(expression, useQuestionDot ? this.createToken(ts.SyntaxKind.QuestionDotToken) : undefined, this.createIdentifier(name));
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=NodeFactory.js.map
|