@fkn/lib/rooms
Type Aliases
Section titled “Type Aliases”type Room = object;A joined room. The same object survives a broker replacement, so it is safe to hold for as long as the chat lasts.
Properties
Section titled “Properties”block: (id) => Promise<void>;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
closed
Section titled “closed”readonly closed: Promise<RoomEnd>;Settles once, when the room ends for this app. Never rejects.
defaults
Section titled “defaults”defaults: () => RoomDefaults;Returns
Section titled “Returns”grant: (id, permission) => Promise<void>;Parameters
Section titled “Parameters”string
permission
Section titled “permission”Returns
Section titled “Returns”Promise<void>
readonly id: string;the room’s uuid
invite
Section titled “invite”readonly invite: string;id and key as one string, the thing to put in a link
readonly key: string;the room key, base64url. The server never sees it. Anyone holding it and the id can join.
leave: () => Promise<void>;Returns
Section titled “Returns”Promise<void>
members
Section titled “members”members: () => Promise<RoomMember[]>;Returns
Section titled “Returns”on: (listener) => Promise<() => void>;Await the returned unsubscribe in cleanup, the account.onChange shape.
Parameters
Section titled “Parameters”listener
Section titled “listener”(event) => void
Returns
Section titled “Returns”Promise<() => void>
readonly owner: string;remove
Section titled “remove”remove: (id) => Promise<void>;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
revoke
Section titled “revoke”revoke: (id, permission) => Promise<void>;Parameters
Section titled “Parameters”string
permission
Section titled “permission”Returns
Section titled “Returns”Promise<void>
readonly self: RoomMember;this app’s member record, as this room sees it. The id is fresh in every room.
send: (text) => Promise<void>;at most 4,096 bytes of UTF-8, sealed before it leaves the browser. Rejects too-large, never truncates.
Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
setDefault
Section titled “setDefault”setDefault: (permission, value) => Promise<void>;Parameters
Section titled “Parameters”permission
Section titled “permission”"send" | "receive"
boolean
Returns
Section titled “Returns”Promise<void>
unblock
Section titled “unblock”unblock: (id) => Promise<void>;Parameters
Section titled “Parameters”string
Returns
Section titled “Returns”Promise<void>
RoomsError
Section titled “RoomsError”type RoomsError = Error & object;Thrown by every member of this namespace. Match on code, never on the message.
Type Declaration
Section titled “Type Declaration”code: RoomsErrorCode;Functions
Section titled “Functions”available()
Section titled “available()”function available(): Promise<boolean>;Whether this realm can join a room: false in Node, false in a worker nothing bridged, false against a shell older than rooms. Answers rather than rejecting.
Returns
Section titled “Returns”Promise<boolean>
create()
Section titled “create()”function create(options?): Promise<Room>;Open a room and become its owner. Share room.invite to let anyone else in.
Parameters
Section titled “Parameters”options?
Section titled “options?”Returns
Section titled “Returns”join()
Section titled “join()”function join(invite, options?): Promise<Room>;invite is room.invite, or an id and a key joined by a dot.
Parameters
Section titled “Parameters”invite
Section titled “invite”string
options?
Section titled “options?”Returns
Section titled “Returns”References
Section titled “References”CreateOptions
Section titled “CreateOptions”Renames and re-exports RoomCreateOptions
JoinOptions
Section titled “JoinOptions”Renames and re-exports RoomJoinOptions
RoomDefaults
Section titled “RoomDefaults”Re-exports RoomDefaults
RoomEnd
Section titled “RoomEnd”Re-exports RoomEnd
RoomEvent
Section titled “RoomEvent”Re-exports RoomEvent
RoomMember
Section titled “RoomMember”Re-exports RoomMember
RoomMessage
Section titled “RoomMessage”Re-exports RoomMessage
RoomPermission
Section titled “RoomPermission”Re-exports RoomPermission
RoomPermissions
Section titled “RoomPermissions”Re-exports RoomPermissions
RoomsErrorCode
Section titled “RoomsErrorCode”Re-exports RoomsErrorCode