0.1.0 • Published 3 years ago

iracing-socket-js v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
3 years ago

Usage

iRacingBrowserApps

1) Install iRacingBrowserApps 2) Start server.exe

Kapps

1) Start kapps

Example

Create a socket

import {iRacingSocket} from 'iracing-socket-js'

const socket: iRacingSocket = new iRacingSocket({
  server,
  fps,
  requestParameters,
  requestParametersOnce,
})
.on(iRacingSocketEvents.SocketConnect, () => setSocketConnected(true))
.on(iRacingSocketEvents.SocketDisconnect, () => setSocketConnected(false))
.on(iRacingSocketEvents.Connect, () => setIRacingConnected(true))
.on(iRacingSocketEvents.Disconnect, () => setIRacingConnected(false))
.on(iRacingSocketEvents.Update, () => setData({...newSocket.data}));

Create a socket consumer (taken from src/flagObserver.ts)

import {iRacingSocketConsumer, Flags} from "iracing-socket-js";

export const IRACING_REQUEST_PARAMS: string[] = ["SessionFlags", "SessionTime", "SessionTimeOfDay"];

export enum FlagsObserverEvents {
  FlagChange = "flagChange",
}

export class FlagsObserver extends iRacingSocketConsumer {
  private previousFlags: Flags;

  onUpdate = (keys: string[]) => {
    if (!keys.includes("SessionFlags")) {
      return;
    }

    const {
      SessionFlags: flags = -1,
      SessionTime: sessionTime,
      SessionTimeOfDay: sessionTimeOfDay,
    } = this.socket.data;

    if (flags !== this.previousFlags) {
      this.emit(
        FlagsObserverEvents.FlagChange,
        this.previousFlags,
        flags,
        sessionTime,
        sessionTimeOfDay,
      );

      this.previousFlags = flags as Flags;
    }
  };
}

export default FlagsObserver;

Connect the socket observer to the socket

const flagObserver = new FlagObserver(socket)
// !!!: Or, pass the options for creating a new socket directly to the socket consumer:
const flagObserver = new FlagObserver({
  server,
  fps,
  requestParameters,
  requestParametersOnce,
})

flagObserver.on(FlagObserverEvents.FlagChange, (previousFlags, nextFlags, sessionTime, sessionTimeOfDay) => {
  console.log("Do something with the change event!?")
})
0.1.0

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago