Documentation / @super-line/server / SuperLineServer
Interface: SuperLineServer<C, A>
Defined in: index.ts:293
A running super-line server, returned by createSuperLineServer.
Type Parameters
C
C extends Contract
A
A extends AuthResult<C>
Properties
cluster
readonlycluster:ClusterView
Defined in: index.ts:301
Asynchronous, cluster-wide introspection backed by the adapter's presence directory.
local
readonlylocal:LocalView
Defined in: index.ts:299
Synchronous, node-local introspection (connections, rooms, topics on this process).
nodeId
readonlynodeId:string
Defined in: index.ts:295
This node's stable id (unique per server process).
nodeName
readonlynodeName:string
Defined in: index.ts:297
This node's friendly name (from nodeName/SUPER_LINE_NODE_NAME, else a short nodeId slice).
Methods
close()
close():
Promise<void>
Defined in: index.ts:328
Returns
Promise<void>
forRole()
forRole<
R>(role):RoleLens<C,R>
Defined in: index.ts:325
Lens for role-scoped sends, e.g. forRole('user').publish('feed', data).
Type Parameters
R
R extends string
Parameters
role
R
Returns
RoleLens<C, R>
implement()
implement(
handlers):SuperLineServer<C,A>
Defined in: index.ts:309
Register handlers for shared + per-role requests (chainable).
Parameters
handlers
Handlers<C, A>
Returns
SuperLineServer<C, A>
isOnline()
isOnline(
userId):Promise<boolean>
Defined in: index.ts:303
Whether a user (by identify key) has at least one live connection anywhere.
Parameters
userId
string
Returns
Promise<boolean>
publish()
publish<
T>(topic,data):void
Defined in: index.ts:313
Publish a SHARED topic to all subscribers (server-only publish).
Type Parameters
T
T extends string | number | symbol
Parameters
topic
T
data
EmitData<TopicsOf<StcOf<C["shared"]>>[T]>
Returns
void
room()
room(
name):Room<C>
Defined in: index.ts:311
Mixed-role connection group; broadcast() sends a shared contract event to members.
Parameters
name
string
Returns
Room<C>
store()
store(
name):ServerStoreHandle
Defined in: index.ts:327
Server-authoritative handle for a configured Store (srv.store('scene').create(...)). Throws NOT_FOUND if the name isn't configured.
Parameters
name
string
Returns
subscribe()
subscribe<
T>(topic,handler): () =>void
Defined in: index.ts:320
Subscribe SERVER-side to a shared topic, cluster-wide. The callback fires for a publish from any node — including this one (local echo, delivered in-process with no round-trip). meta.from is the publishing node; self-exclude with if (meta.from === srv.nodeId) return. Returns an unsubscribe fn.
Type Parameters
T
T extends string | number | symbol
Parameters
topic
T
handler
(data, meta) => void
Returns
() => void
toConn()
toConn(
id):ConnTarget<C>
Defined in: index.ts:305
Target a single connection by id, on whatever node holds it (cross-node emit/close).
Parameters
id
string
Returns
ConnTarget<C>
toUser()
toUser(
userId):UserTarget<C>
Defined in: index.ts:307
Target all of a user's connections (by identify key) across nodes (emit/disconnect).
Parameters
userId
string
Returns
UserTarget<C>