Class: IndiClient¶
A reconnecting client that mirrors bridge state into a typed cache.
Constructors¶
Constructor¶
new IndiClient(
options?):IndiClient
Parameters¶
options?¶
Returns¶
IndiClient
Accessors¶
connected¶
Get Signature¶
get connected():
boolean
Whether the browser<->bridge WebSocket is open.
Returns¶
boolean
connectionState¶
Get Signature¶
get connectionState():
ConnectionState
The current combined connection state.
Returns¶
store¶
Get Signature¶
get store():
PropertyStore
The underlying property cache.
Returns¶
upstreamConnected¶
Get Signature¶
get upstreamConnected():
boolean
Whether the bridge reports a live upstream indiserver connection.
Returns¶
boolean
Methods¶
close()¶
close():
void
Close the connection and stop reconnecting.
Returns¶
void
connect()¶
connect():
void
Open the connection to the bridge and begin mirroring state.
Returns¶
void
device()¶
device(
name):Readonly\<Record\<string,Vector>>
A stable read-only snapshot of one device's properties.
Parameters¶
name¶
string
Returns¶
Readonly\<Record\<string, Vector>>
devices()¶
devices(): readonly
string[]
A stable, sorted list of all known device names.
Returns¶
readonly string[]
enableBlob()¶
enableBlob(
device,name?,policy?):void
Set the BLOB delivery policy for a device (or one property).
The request is remembered and replayed on every reconnect, matching the Python client.
Parameters¶
device¶
string
name?¶
string
policy?¶
Returns¶
void
get()¶
get(
device,name):Vector|undefined
Return a cached vector, or undefined if it is not present.
Parameters¶
device¶
string
name¶
string
Returns¶
Vector | undefined
getProperties()¶
getProperties(
device?,name?):void
Ask the server to (re-)send property definitions.
Parameters¶
device?¶
string
name?¶
string
Returns¶
void
messages()¶
messages(): readonly
Message[]
The retained inbound message notifications, oldest first.
The returned array is a stable snapshot (a new reference only when a
message arrives), so it is safe to feed to useSyncExternalStore.
Returns¶
readonly Message[]
onConnection()¶
onConnection(
callback): () =>void
Register a callback for connection-state transitions.
Parameters¶
callback¶
Returns¶
() => void
onMessage()¶
onMessage(
callback): () =>void
Register a callback for inbound message notifications.
Parameters¶
callback¶
Returns¶
() => void
send()¶
send(
message):void
Queue an arbitrary message to send upstream.
Parameters¶
message¶
Returns¶
void
setBlob()¶
setBlob(
device,name,values):void
Send new BLOB payloads (base64 strings) for a property.
Parameters¶
device¶
string
name¶
string
values¶
Record\<string, string>
Returns¶
void
setNumber()¶
setNumber(
device,name,values):void
Send new number values for a property.
Parameters¶
device¶
string
name¶
string
values¶
Record\<string, number>
Returns¶
void
setSwitch()¶
setSwitch(
device,name,values):void
Send new switch states for a property.
Parameters¶
device¶
string
name¶
string
values¶
Record\<string, SwitchInput>
Returns¶
void
setText()¶
setText(
device,name,values):void
Send new text values for a property.
Parameters¶
device¶
string
name¶
string
values¶
Record\<string, string>
Returns¶
void
subscribe()¶
subscribe(
callback,filter?): () =>void
Register a property-event callback; returns an unsubscribe function.
Parameters¶
callback¶
filter?¶
Returns¶
() => void
waitFor()¶
waitFor(
device,name,predicate?,options?):Promise\<Vector>
Resolve once a property exists (and satisfies predicate).
Resolves immediately if the cached property already matches; rejects with a
TimeoutError-like Error if timeout (ms) elapses first.
Parameters¶
device¶
string
name¶
string
predicate?¶
options?¶
timeout?¶
number
Returns¶
Promise\<Vector>