actionhero
Version:
actionhero.js is a multi-transport API Server with integrated cluster capabilities and delayed tasks
537 lines • 32.2 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>chatRoom | actionhero</title>
<meta name="description" content="Documentation for actionhero">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">actionhero</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
<input type="checkbox" id="tsd-filter-externals" checked />
<label class="tsd-widget" for="tsd-filter-externals">Externals</label>
<input type="checkbox" id="tsd-filter-only-exported" />
<label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="chatroom.html">chatRoom</a>
</li>
</ul>
<h1>Namespace chatRoom</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Interfaces</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/chatroom.chatmiddleware.html" class="tsd-kind-icon">Chat<wbr>Middleware</a></li>
<li class="tsd-kind-interface tsd-parent-kind-namespace"><a href="../interfaces/chatroom.chatpubsubmessage.html" class="tsd-kind-icon">Chat<wbr>Pub<wbr>Sub<wbr>Message</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Functions</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#add" class="tsd-kind-icon">add</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#addmember" class="tsd-kind-icon">add<wbr>Member</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#addmiddleware" class="tsd-kind-icon">add<wbr>Middleware</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#broadcast" class="tsd-kind-icon">broadcast</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#destroy" class="tsd-kind-icon">destroy</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#exists" class="tsd-kind-icon">exists</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#generatememberdetails" class="tsd-kind-icon">generate<wbr>Member<wbr>Details</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#list" class="tsd-kind-icon">list</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#removemember" class="tsd-kind-icon">remove<wbr>Member</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#roomstatus" class="tsd-kind-icon">room<wbr>Status</a></li>
<li class="tsd-kind-function tsd-parent-kind-namespace"><a href="chatroom.html#sanitizememberdetails" class="tsd-kind-icon">sanitize<wbr>Member<wbr>Details</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Functions</h2>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="add" class="tsd-anchor"></a>
<h3>add</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">add<span class="tsd-signature-symbol">(</span>room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L98">src/modules/chatRoom.ts:98</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Add a new chat room. Throws an error if the room already exists.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="addmember" class="tsd-anchor"></a>
<h3>add<wbr>Member</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">add<wbr>Member<span class="tsd-signature-symbol">(</span>connectionId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L209">src/modules/chatRoom.ts:209</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Add a connection (via id) to a room. Throws errors if the room does not exist, or the connection is already in the room. Middleware errors also throw.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>connectionId: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="addmiddleware" class="tsd-anchor"></a>
<h3>add<wbr>Middleware</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">add<wbr>Middleware<span class="tsd-signature-symbol">(</span>data<span class="tsd-signature-symbol">: </span><a href="../interfaces/chatroom.chatmiddleware.html" class="tsd-signature-type">ChatMiddleware</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L65">src/modules/chatRoom.ts:65</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Add a middleware component to connection handling.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>data: <a href="../interfaces/chatroom.chatmiddleware.html" class="tsd-signature-type">ChatMiddleware</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="broadcast" class="tsd-anchor"></a>
<h3>broadcast</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">broadcast<span class="tsd-signature-symbol">(</span>connection<span class="tsd-signature-symbol">: </span><a href="../classes/connection.html" class="tsd-signature-type">Connection</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{}</span>, room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, message<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L307">src/modules/chatRoom.ts:307</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Send a message to all clients connected to this room</p>
<ul>
<li>connection should either be a real client you are emulating (found in api.connections) or just <code>{}</code> for a mock</li>
<li>room is the string name of an already-existing room</li>
<li>message can be anything: string, json, object, etc</li>
</ul>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>connection: <a href="../classes/connection.html" class="tsd-signature-type">Connection</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">{}</span></h5>
</li>
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>message: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="destroy" class="tsd-anchor"></a>
<h3>destroy</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">destroy<span class="tsd-signature-symbol">(</span>room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L110">src/modules/chatRoom.ts:110</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Remove an existing chat room. All connections in the room will be removed. Throws an error if the room does not exist.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="exists" class="tsd-anchor"></a>
<h3>exists</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">exists<span class="tsd-signature-symbol">(</span>room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L136">src/modules/chatRoom.ts:136</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Check if a room exists.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="generatememberdetails" class="tsd-anchor"></a>
<h3>generate<wbr>Member<wbr>Details</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">generate<wbr>Member<wbr>Details<span class="tsd-signature-symbol">(</span>connection<span class="tsd-signature-symbol">: </span><a href="../classes/connection.html" class="tsd-signature-type">Connection</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>host<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>joinedAt<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L198">src/modules/chatRoom.ts:198</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>An overwrite-able method which configures what properties of connections in a room are initially stored about a connection when added via <code>api.chatRoom.addMember</code></p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>connection: <a href="../classes/connection.html" class="tsd-signature-type">Connection</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>host<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">; </span>joinedAt<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">number</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="list" class="tsd-anchor"></a>
<h3>list</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">list<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L91">src/modules/chatRoom.ts:91</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>List all chat rooms created</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="removemember" class="tsd-anchor"></a>
<h3>remove<wbr>Member</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">remove<wbr>Member<span class="tsd-signature-symbol">(</span>connectionId<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, toWaitRemote<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L257">src/modules/chatRoom.ts:257</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Remote a connection (via id) from a room. Throws errors if the room does not exist, or the connection is not in the room. Middleware errors also throw.
toWaitRemote: Should this method wait until the remote Actionhero server (the one the connection is connected too) responds?</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>connectionId: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> toWaitRemote: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="roomstatus" class="tsd-anchor"></a>
<h3>room<wbr>Status</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">room<wbr>Status<span class="tsd-signature-symbol">(</span>room<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L163">src/modules/chatRoom.ts:163</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Learn about the connections in the room.
Returns a hash of the form { room: room, members: cleanedMembers, membersCount: count }. Members is an array of connections in the room sanitized via <code>api.chatRoom.sanitizeMemberDetails</code></p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>room: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{}</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-namespace">
<a name="sanitizememberdetails" class="tsd-anchor"></a>
<h3>sanitize<wbr>Member<wbr>Details</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-namespace">
<li class="tsd-signature tsd-kind-icon">sanitize<wbr>Member<wbr>Details<span class="tsd-signature-symbol">(</span>memberData<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>joinedAt<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/actionhero/actionhero/blob/fd12b4f0/src/modules/chatRoom.ts#L152">src/modules/chatRoom.ts:152</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Configures what properties of connections in a room to return via <code>api.chatRoom.roomStatus</code></p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>memberData: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-symbol">{ </span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">; </span>joinedAt<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class=" tsd-kind-namespace">
<a href="action.html">action</a>
</li>
<li class=" tsd-kind-namespace">
<a href="cache.html">cache</a>
</li>
<li class="current tsd-kind-namespace">
<a href="chatroom.html">chat<wbr>Room</a>
</li>
<li class=" tsd-kind-namespace">
<a href="i18n.html">i18n</a>
</li>
<li class=" tsd-kind-namespace">
<a href="redis.html">redis</a>
</li>
<li class=" tsd-kind-namespace">
<a href="route.html">route</a>
</li>
<li class=" tsd-kind-namespace">
<a href="spechelper.html">spec<wbr>Helper</a>
</li>
<li class=" tsd-kind-namespace">
<a href="task.html">task</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-interface tsd-parent-kind-namespace">
<a href="../interfaces/chatroom.chatmiddleware.html" class="tsd-kind-icon">Chat<wbr>Middleware</a>
</li>
<li class=" tsd-kind-interface tsd-parent-kind-namespace">
<a href="../interfaces/chatroom.chatpubsubmessage.html" class="tsd-kind-icon">Chat<wbr>Pub<wbr>Sub<wbr>Message</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#add" class="tsd-kind-icon">add</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#addmember" class="tsd-kind-icon">add<wbr>Member</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#addmiddleware" class="tsd-kind-icon">add<wbr>Middleware</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#broadcast" class="tsd-kind-icon">broadcast</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#destroy" class="tsd-kind-icon">destroy</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#exists" class="tsd-kind-icon">exists</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#generatememberdetails" class="tsd-kind-icon">generate<wbr>Member<wbr>Details</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#list" class="tsd-kind-icon">list</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#removemember" class="tsd-kind-icon">remove<wbr>Member</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#roomstatus" class="tsd-kind-icon">room<wbr>Status</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-namespace">
<a href="chatroom.html#sanitizememberdetails" class="tsd-kind-icon">sanitize<wbr>Member<wbr>Details</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>