@irsdk-node/native 5.3.0 → 5.4.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.
@@ -9437,6 +9437,9 @@ var MockSDK = class {
9437
9437
  }
9438
9438
  return mockTelemetry[name];
9439
9439
  }
9440
+ getTelemetryVariableIndex(_name) {
9441
+ return 0;
9442
+ }
9440
9443
  broadcast(message, ...args) {
9441
9444
  (0, import_node_console.log)("Mocking SDK call:", message, ...args);
9442
9445
  return true;
package/dist/esm/index.js CHANGED
@@ -9424,6 +9424,9 @@ var MockSDK = class {
9424
9424
  }
9425
9425
  return mockTelemetry[name];
9426
9426
  }
9427
+ getTelemetryVariableIndex(_name) {
9428
+ return 0;
9429
+ }
9427
9430
  broadcast(message, ...args) {
9428
9431
  log("Mocking SDK call:", message, ...args);
9429
9432
  return true;
@@ -29,6 +29,7 @@ export interface INativeSDK {
29
29
  getSessionConnectionID(): number;
30
30
  getTelemetryVariable<T>(index: number): TelemetryVariable<T> | null;
31
31
  getTelemetryVariable<T>(name: string): TelemetryVariable<T> | null;
32
+ getTelemetryVariableIndex(name: string): number | null;
32
33
  __getTelemetryTypes(): TelemetryTypesDict;
33
34
  broadcast<Command extends BroadcastCommand = BroadcastCommand>(message: Command, ...args: BroadcastCommandArgs<Command>): boolean;
34
35
  }
@@ -28,6 +28,7 @@ export declare class MockSDK implements INativeSDK {
28
28
  getTelemetryData(): TelemetryVarList;
29
29
  getTelemetryVariable<T extends TelemetryResultTypes>(index: number): TelemetryVariable<T[]>;
30
30
  getTelemetryVariable<T extends TelemetryResultTypes>(name: TelemetryVarKey): TelemetryVariable<T[]>;
31
+ getTelemetryVariableIndex(_name: TelemetryVarKey): number | null;
31
32
  broadcast<Command extends BroadcastCommand = BroadcastCommand>(message: Command, ...args: BroadcastCommandArgs<Command>): boolean;
32
33
  __getTelemetryTypes(): TelemetryTypesDict;
33
34
  }
@@ -45,6 +45,7 @@ Napi::Object iRacingSdkNode::Init(Napi::Env aEnv, Napi::Object aExports)
45
45
  InstanceMethod("getSessionData", &iRacingSdkNode::_napi_getSessionData),
46
46
  InstanceMethod("getTelemetryData", &iRacingSdkNode::_napi_getTelemetryData),
47
47
  InstanceMethod("getTelemetryVariable", &iRacingSdkNode::_napi_getTelemetryVar),
48
+ InstanceMethod("getTelemetryVariableIndex", &iRacingSdkNode::_napi_getTelemetryVarIndex),
48
49
  // Helpers
49
50
  InstanceMethod("__getTelemetryTypes", &iRacingSdkNode::_napi_getTelemetryTypes) }
50
51
  );
@@ -430,6 +431,21 @@ Napi::Value iRacingSdkNode::_napi_getTelemetryVar(const Napi::CallbackInfo& aInf
430
431
  return env.Null();
431
432
  }
432
433
 
434
+ Napi::Value iRacingSdkNode::_napi_getTelemetryVarIndex(const Napi::CallbackInfo& aInfo)
435
+ {
436
+ Napi::Env env = aInfo.Env();
437
+
438
+ // Null if given malformed input (expects one string).
439
+ if (aInfo.Length() <= 0 || !aInfo[0].IsString()) {
440
+ return env.Null();
441
+ }
442
+
443
+ auto napiStr = aInfo[0].ToString().Utf8Value();
444
+ auto cStr = napiStr.c_str();
445
+
446
+ return Napi::Number::New(env, irsdk_varNameToIndex(cStr));
447
+ }
448
+
433
449
  Napi::Value iRacingSdkNode::_napi_getTelemetryData(const Napi::CallbackInfo& aInfo)
434
450
  {
435
451
  const irsdk_header* header = irsdk_getHeader();
package/lib/irsdk_node.h CHANGED
@@ -86,6 +86,7 @@ private:
86
86
  Napi::Value _napi_getTelemetryData(const Napi::CallbackInfo& aInfo);
87
87
  Napi::Value _napi_getTelemetryTypes(const Napi::CallbackInfo& aInfo);
88
88
  Napi::Value _napi_getTelemetryVar(const Napi::CallbackInfo& aInfo);
89
+ Napi::Value _napi_getTelemetryVarIndex(const Napi::CallbackInfo& aInfo);
89
90
 
90
91
  // Helpers
91
92
  Napi::Object _getTelemetryVarByName(const Napi::Env aEnv, const char* aVarName);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@irsdk-node/native",
3
- "version": "5.3.0",
3
+ "version": "5.4.0",
4
4
  "author": "Matt Bengston <bengsfort@gmail.com> (https://bengsfort.dev/)",
5
5
  "bugs": {
6
6
  "email": "bengsfort@gmail.com",