High-Level SDKs

Domain-specific SDKs built on top of @nolag/js-sdk. Each SDK provides a purpose-built API for a specific use case, handling topics, presence, reconnection, and state management out of the box.

All high-level SDKs share the same architecture: a MainClass manages the connection, lobby presence, and rooms, while a RoomClass handles topic subscriptions and domain-specific state. Each SDK peer-depends on @nolag/js-sdk ^1.0.0.

Architecture

Every high-level SDK follows the same invariant pattern:

LayerRoleExample
MainClassWraps NoLag() client, manages lobby presence, room join/leave, reconnect restorationNoLagChat, NoLagSignal
RoomClassWraps RoomContext, subscribes to domain topics, delegates to managersChatRoom, SignalRoom
ManagersHandle domain-specific state (stores, trackers, resolvers)MessageStore, PeerManager

Installation

Each SDK is published as a separate npm package:

npm install @nolag/chat @nolag/js-sdk

All SDKs peer-depend on @nolag/js-sdk ^1.0.0, which must be installed alongside.