jmri-client 3.2.1 → 3.3.1

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/docs/EXAMPLES.md CHANGED
@@ -9,7 +9,11 @@ const client = new JmriClient({ host: 'jmri.local' });
9
9
 
10
10
  client.on('connected', async () => {
11
11
  const power = await client.getPower();
12
- console.log('Current power:', power === PowerState.ON ? 'ON' : 'OFF');
12
+
13
+ // Handle all three power states
14
+ const powerStr = power === PowerState.ON ? 'ON' :
15
+ power === PowerState.OFF ? 'OFF' : 'UNKNOWN';
16
+ console.log('Current power:', powerStr);
13
17
 
14
18
  await client.powerOn();
15
19
  console.log('Power turned ON');
@@ -69,9 +73,11 @@ client.on('reconnecting', (attempt, delay) => {
69
73
  });
70
74
  client.on('reconnected', () => console.log('✓ Reconnected!'));
71
75
 
72
- // Monitor power changes
76
+ // Monitor power changes (including UNKNOWN state)
73
77
  client.on('power:changed', (state) => {
74
- console.log('Power changed:', state === PowerState.ON ? 'ON' : 'OFF');
78
+ const stateStr = state === PowerState.ON ? 'ON' :
79
+ state === PowerState.OFF ? 'OFF' : 'UNKNOWN';
80
+ console.log('Power changed:', stateStr);
75
81
  });
76
82
 
77
83
  // Monitor throttle updates
@@ -255,6 +261,8 @@ const client = new JmriClient({ host: 'jmri.local' });
255
261
 
256
262
  client.on('connected', async () => {
257
263
  const power = await client.getPower();
258
- console.log('Power:', power === PowerState.ON ? 'ON' : 'OFF');
264
+ const powerStr = power === PowerState.ON ? 'ON' :
265
+ power === PowerState.OFF ? 'OFF' : 'UNKNOWN';
266
+ console.log('Power:', powerStr);
259
267
  });
260
268
  ```
package/docs/MIGRATION.md CHANGED
@@ -44,7 +44,7 @@ console.log(powerState); // Direct value (PowerState enum)
44
44
  **Changes:**
45
45
  - Methods return data directly instead of axios response objects
46
46
  - No more `.data` property on responses
47
- - Power state is now a `PowerState` enum (ON=2, OFF=4)
47
+ - Power state is now a `PowerState` enum (UNKNOWN=0, ON=2, OFF=4)
48
48
 
49
49
  ### 3. Power Control
50
50
 
@@ -221,7 +221,9 @@ client.on('connected', () => {
221
221
  });
222
222
 
223
223
  client.on('power:changed', (state) => {
224
- console.log('Power changed:', state === PowerState.ON ? 'ON' : 'OFF');
224
+ const stateStr = state === PowerState.ON ? 'ON' :
225
+ state === PowerState.OFF ? 'OFF' : 'UNKNOWN';
226
+ console.log('Power changed:', stateStr);
225
227
  });
226
228
  ```
227
229
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "jmri-client",
3
- "version": "3.2.1",
3
+ "version": "3.3.1",
4
4
  "description": "WebSocket client for JMRI with real-time updates and throttle control - works in both Node.js and browsers",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",