Welshman Docs / @welshman/app / Rooms
Class: Rooms
Defined in: app/src/plugins/rooms.ts:106
NIP-29 relay-based rooms. A ${url}'${h}-keyed collection whose values bundle a room's metadata, members, and admins, derived from the repository so a space can be enumerated without loading each room by id. Also owns room management.
Rooms a kind-9008 delete supersedes are dropped, so a tombstoned room stops appearing without the caller having to filter.
Constructors
Constructor
new Rooms(
app):Rooms
Defined in: app/src/plugins/rooms.ts:114
Parameters
app
Returns
Rooms
Properties
all
all:
Projection<Room[]>
Defined in: app/src/plugins/rooms.ts:108
app
protectedreadonlyapp:IApp
Defined in: app/src/plugins/rooms.ts:114
byUrl
byUrl:
Projection<Map<string,Room[]>>
Defined in: app/src/plugins/rooms.ts:109
forceLoad()
Defined in: app/src/plugins/rooms.ts:112
Parameters
key
string
args
...any[]
Returns
index
index:
Projection<ItemsByKey<Room>>
Defined in: app/src/plugins/rooms.ts:107
load()
Defined in: app/src/plugins/rooms.ts:111
Parameters
key
string
args
...any[]
Returns
one()
Defined in: app/src/plugins/rooms.ts:110
Parameters
key?
string
args?
...any[]
Returns
Methods
addMember()
addMember(
url,room,pubkey):Promise<Command>
Defined in: app/src/plugins/rooms.ts:243
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>
createRoom()
createRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:214
Parameters
url
string
room
Returns
Promise<Command>
deleteRoom()
deleteRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:217
Parameters
url
string
room
Returns
Promise<Command>
editRoom()
editRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:220
Parameters
url
string
room
Returns
Promise<Command>
fetch()
fetch(
id):Promise<TrustedEvent[]>
Defined in: app/src/plugins/rooms.ts:190
Parameters
id
string
Returns
Promise<TrustedEvent[]>
forRoom()
Defined in: app/src/plugins/rooms.ts:209
Parameters
url
string
h
string
Returns
forUrl()
forUrl(
url):Projection<Room[]>
Defined in: app/src/plugins/rooms.ts:211
Parameters
url
string
Returns
Projection<Room[]>
get()
get(
key):undefined|Room
Defined in: app/src/plugins/rooms.ts:204
Parameters
key
string
Returns
undefined | Room
joinRoom()
joinRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:237
Parameters
url
string
room
Returns
Promise<Command>
leaveRoom()
leaveRoom(
url,room):Promise<Command>
Defined in: app/src/plugins/rooms.ts:240
Parameters
url
string
room
Returns
Promise<Command>
project()
project<
U>(key,read):Projection<U>
Defined in: app/src/plugins/rooms.ts:206
Type Parameters
U
U
Parameters
key
string
read
(item) => U
Returns
Projection<U>
removeMember()
removeMember(
url,room,pubkey):Promise<Command>
Defined in: app/src/plugins/rooms.ts:248
Parameters
url
string
room
pubkey
string
Returns
Promise<Command>