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.
Communication
Engagement
Data
Infrastructure
Collaboration
Architecture
Every high-level SDK follows the same invariant pattern:
| Layer | Role | Example |
|---|---|---|
| MainClass | Wraps NoLag() client, manages lobby presence, room join/leave, reconnect restoration | NoLagChat, NoLagSignal |
| RoomClass | Wraps RoomContext, subscribes to domain topics, delegates to managers | ChatRoom, SignalRoom |
| Managers | Handle 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.