@irsdk-node/native 4.1.1 → 5.1.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.
- package/README.md +21 -1
- package/dist/cjs/index.cjs +9454 -0
- package/dist/esm/index.js +9441 -0
- package/dist/types/INativeSDK.d.ts +24 -0
- package/dist/types/MockSdk.d.ts +31 -0
- package/dist/types/index.d.ts +4 -0
- package/lib/irsdk_client.cpp +94 -94
- package/lib/irsdk_client.h +23 -23
- package/lib/irsdk_defines.h +136 -82
- package/lib/irsdk_diskclient.cpp +997 -0
- package/lib/irsdk_diskclient.h +205 -0
- package/lib/irsdk_node.cc +336 -283
- package/lib/irsdk_utils.cpp +71 -71
- package/lib/yaml_parser.cpp +41 -41
- package/lib/yaml_parser.h +1 -1
- package/package.json +27 -29
- package/prebuilds/darwin-arm64/@irsdk-node+native.node +0 -0
- package/prebuilds/win32-x64/@irsdk-node+native.node +0 -0
- package/dist/INativeSDK.d.ts +0 -28
- package/dist/INativeSDK.js +0 -2
- package/dist/MockSdk.d.ts +0 -43
- package/dist/MockSdk.js +0 -70
- package/dist/mock-data/loader.js +0 -41
- package/dist/mock-data/session.json +0 -4305
- package/dist/mock-data/telemetry.json +0 -4986
- package/index.d.ts +0 -87
- package/index.js +0 -36
- package/scripts/generate-var-types.js +0 -71
- /package/dist/{mock-data → types/mock-data}/loader.d.ts +0 -0
package/dist/MockSdk.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { BroadcastMessages, CameraState, ChatCommand, FFBCommand, PitCommand, ReloadTexturesCommand, ReplayPositionCommand, ReplaySearchCommand, ReplayStateCommand, TelemetryCommand, TelemetryVariable, TelemetryVarList, VideoCaptureCommand } from '@irsdk-node/types';
|
|
2
|
-
import type { INativeSDK } from './INativeSDK';
|
|
3
|
-
type TelemetryVarKey = keyof TelemetryVarList;
|
|
4
|
-
type TelemetryResultTypes = boolean | number | string;
|
|
5
|
-
/**
|
|
6
|
-
* Mock SDK class intended for use on non-win32 platforms for development.
|
|
7
|
-
* Implements the native sdk interface supplemented with mock data suitable for
|
|
8
|
-
* iterating on projects with.
|
|
9
|
-
*
|
|
10
|
-
* @todo - This should really be handled differently, for example via a wrapper
|
|
11
|
-
* class around the native class that gets exposed.
|
|
12
|
-
*/
|
|
13
|
-
export declare class MockSDK implements INativeSDK {
|
|
14
|
-
currDataVersion: number;
|
|
15
|
-
isMocked: boolean;
|
|
16
|
-
enableLogging: boolean;
|
|
17
|
-
private _isRunning;
|
|
18
|
-
constructor();
|
|
19
|
-
private _loadMockData;
|
|
20
|
-
startSDK(): boolean;
|
|
21
|
-
stopSDK(): void;
|
|
22
|
-
isRunning(): boolean;
|
|
23
|
-
waitForData(_timeout?: number): boolean;
|
|
24
|
-
getSessionData(): string;
|
|
25
|
-
getTelemetryData(): TelemetryVarList;
|
|
26
|
-
getTelemetryVariable<T extends TelemetryResultTypes>(index: number): TelemetryVariable<T[]>;
|
|
27
|
-
getTelemetryVariable<T extends TelemetryResultTypes>(name: TelemetryVarKey): TelemetryVariable<T[]>;
|
|
28
|
-
broadcast(message: BroadcastMessages.CameraSwitchPos, pos: number, group: number, camera: number): void;
|
|
29
|
-
broadcast(message: BroadcastMessages.CameraSwitchNum, driver: number, group: number, camera: number): void;
|
|
30
|
-
broadcast(message: BroadcastMessages.CameraSetState, state: CameraState): void;
|
|
31
|
-
broadcast(message: BroadcastMessages.ReplaySetPlaySpeed, speed: number, slowMotion: number): void;
|
|
32
|
-
broadcast(message: BroadcastMessages.ReplaySetPlayPosition, pos: ReplayPositionCommand, frame: number): void;
|
|
33
|
-
broadcast(message: BroadcastMessages.ReplaySearch, mode: ReplaySearchCommand): void;
|
|
34
|
-
broadcast(message: BroadcastMessages.ReplaySetState, state: ReplayStateCommand): void;
|
|
35
|
-
broadcast(message: BroadcastMessages.ReloadTextures, command: ReloadTexturesCommand, carIndex?: number): void;
|
|
36
|
-
broadcast(message: BroadcastMessages.ChatCommand, command: ChatCommand, macro?: number): void;
|
|
37
|
-
broadcast(message: BroadcastMessages.PitCommand, command: PitCommand, param?: number): void;
|
|
38
|
-
broadcast(message: BroadcastMessages.TelemCommand, command: TelemetryCommand): void;
|
|
39
|
-
broadcast(message: BroadcastMessages.FFBCommand, command: FFBCommand, value: number): void;
|
|
40
|
-
broadcast(message: BroadcastMessages.ReplaySearchSessionTime, session: number, time: number): void;
|
|
41
|
-
broadcast(message: BroadcastMessages.VideoCapture, command: VideoCaptureCommand): void;
|
|
42
|
-
}
|
|
43
|
-
export {};
|
package/dist/MockSdk.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MockSDK = void 0;
|
|
4
|
-
const loader_1 = require("./mock-data/loader");
|
|
5
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
6
|
-
let MOCK_TELEMETRY = null;
|
|
7
|
-
let MOCK_SESSION = null;
|
|
8
|
-
/**
|
|
9
|
-
* Mock SDK class intended for use on non-win32 platforms for development.
|
|
10
|
-
* Implements the native sdk interface supplemented with mock data suitable for
|
|
11
|
-
* iterating on projects with.
|
|
12
|
-
*
|
|
13
|
-
* @todo - This should really be handled differently, for example via a wrapper
|
|
14
|
-
* class around the native class that gets exposed.
|
|
15
|
-
*/
|
|
16
|
-
class MockSDK {
|
|
17
|
-
currDataVersion = 1;
|
|
18
|
-
isMocked = true;
|
|
19
|
-
enableLogging = false;
|
|
20
|
-
_isRunning = false;
|
|
21
|
-
constructor() {
|
|
22
|
-
this._loadMockData().catch((reason) => {
|
|
23
|
-
console.error('Error loading mock data for mock SDK:', reason);
|
|
24
|
-
});
|
|
25
|
-
console.warn('Attempting to access iRacing SDK on unsupported platform!', '\nReturning mock SDK for testing purposes. (Only win32 supported)');
|
|
26
|
-
}
|
|
27
|
-
async _loadMockData() {
|
|
28
|
-
const [session, telemetry] = await Promise.all([
|
|
29
|
-
!MOCK_SESSION ? (0, loader_1.loadMockSessionData)() : Promise.resolve(MOCK_SESSION),
|
|
30
|
-
!MOCK_TELEMETRY ? (0, loader_1.loadMockTelemetry)() : Promise.resolve(MOCK_TELEMETRY),
|
|
31
|
-
]);
|
|
32
|
-
MOCK_SESSION = session;
|
|
33
|
-
MOCK_TELEMETRY = telemetry;
|
|
34
|
-
}
|
|
35
|
-
startSDK() {
|
|
36
|
-
this._isRunning = true;
|
|
37
|
-
return true;
|
|
38
|
-
}
|
|
39
|
-
stopSDK() {
|
|
40
|
-
this._isRunning = false;
|
|
41
|
-
}
|
|
42
|
-
isRunning() {
|
|
43
|
-
return this._isRunning;
|
|
44
|
-
}
|
|
45
|
-
waitForData(_timeout) {
|
|
46
|
-
return this._isRunning;
|
|
47
|
-
}
|
|
48
|
-
getSessionData() {
|
|
49
|
-
return MOCK_SESSION ?? '';
|
|
50
|
-
}
|
|
51
|
-
getTelemetryData() {
|
|
52
|
-
if (!MOCK_TELEMETRY) {
|
|
53
|
-
throw new Error('Attempted accessing mock telemetry before it was loaded.');
|
|
54
|
-
}
|
|
55
|
-
return MOCK_TELEMETRY;
|
|
56
|
-
}
|
|
57
|
-
getTelemetryVariable(name) {
|
|
58
|
-
if (!MOCK_TELEMETRY) {
|
|
59
|
-
throw new Error('Attempted accessing mock telemetry before it was loaded.');
|
|
60
|
-
}
|
|
61
|
-
if (typeof name === 'number') {
|
|
62
|
-
return Object.values(MOCK_TELEMETRY)[name];
|
|
63
|
-
}
|
|
64
|
-
return MOCK_TELEMETRY[name];
|
|
65
|
-
}
|
|
66
|
-
broadcast(...args) {
|
|
67
|
-
console.log('Mocking SDK call:', ...args);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
exports.MockSDK = MockSDK;
|
package/dist/mock-data/loader.js
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// eslint-disable @typescript-eslint/no-unsafe-return
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
20
|
-
if (mod && mod.__esModule) return mod;
|
|
21
|
-
var result = {};
|
|
22
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
23
|
-
__setModuleDefault(result, mod);
|
|
24
|
-
return result;
|
|
25
|
-
};
|
|
26
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
27
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
28
|
-
};
|
|
29
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.loadMockTelemetry = exports.loadMockSessionData = void 0;
|
|
31
|
-
const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
32
|
-
const loadMockSessionData = async () => {
|
|
33
|
-
const json = await Promise.resolve().then(() => __importStar(require('./session.json')));
|
|
34
|
-
return js_yaml_1.default.dump(json.default);
|
|
35
|
-
};
|
|
36
|
-
exports.loadMockSessionData = loadMockSessionData;
|
|
37
|
-
const loadMockTelemetry = async () => {
|
|
38
|
-
const json = await Promise.resolve().then(() => __importStar(require('./telemetry.json')));
|
|
39
|
-
return json.default;
|
|
40
|
-
};
|
|
41
|
-
exports.loadMockTelemetry = loadMockTelemetry;
|