Skip to content

Documentation / @imvu/client / ChatParticipant

Class: ChatParticipant ​

Defined in: packages/client/src/resources/ChatParticipant.ts:9

Someone in a classic room's chat: <chat>/participants/user-<cid>. Readable by any logged-in account without joining the room.

Extends ​

Constructors ​

Constructor ​

ts
new ChatParticipant(client, options?): ChatParticipant;

Defined in: packages/client/src/resources/Resource.ts:23

Parameters ​

ParameterType
clientClient
options?ResourceOptions

Returns ​

ChatParticipant

Inherited from ​

Resource.constructor

Properties ​

_id ​

ts
_id: string = '';

Defined in: packages/client/src/resources/Resource.ts:21

Inherited from ​

Resource._id


_url ​

ts
protected _url: string = '';

Defined in: packages/client/src/resources/RemoteDocument.ts:13

Inherited from ​

Resource._url


assetUrl ​

ts
assetUrl: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:19


client ​

ts
protected readonly client: Client;

Defined in: packages/client/src/resources/RemoteDocument.ts:16

Inherited from ​

Resource.client


created ​

ts
created: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:11

When they joined (ISO 8601).


fetchedAt ​

ts
fetchedAt: number = 0;

Defined in: packages/client/src/resources/Resource.ts:39

When this instance last received data from the API (ms since epoch); 0 if never.

Inherited from ​

Resource.fetchedAt


lastUpdated ​

ts
lastUpdated: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:12


lookImage ​

ts
lookImage: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:17


lookThumbnail ​

ts
lookThumbnail: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:18


lookUrl ​

ts
lookUrl: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:16

https://api.imvu.com/look/<pid>%2C<pid>…: the outfit as product ids. See productIds.


nftProductIds ​

ts
nftProductIds: string[] = [];

Defined in: packages/client/src/resources/ChatParticipant.ts:22


options ​

ts
protected options: ResourceOptions = {};

Defined in: packages/client/src/resources/Resource.ts:25

Inherited from ​

Resource.options


outfitGender ​

ts
outfitGender: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:20


relations ​

ts
relations: Partial<TRelations> = {};

Defined in: packages/client/src/resources/Resource.ts:44

Internal

Inherited from ​

Resource.relations


renderedImage ​

ts
renderedImage: string = '';

Defined in: packages/client/src/resources/ChatParticipant.ts:21


revision ​

ts
revision: number = 0;

Defined in: packages/client/src/resources/RemoteDocument.ts:8

Inherited from ​

Resource.revision


seatFurniId ​

ts
seatFurniId: number = 0;

Defined in: packages/client/src/resources/ChatParticipant.ts:14


seatNumber ​

ts
seatNumber: number = 0;

Defined in: packages/client/src/resources/ChatParticipant.ts:13


stale ​

ts
stale: boolean = false;

Defined in: packages/client/src/resources/RemoteDocument.ts:9

Inherited from ​

Resource.stale


updates ​

ts
updates: Partial<TUpdates> = {};

Defined in: packages/client/src/resources/Resource.ts:49

Internal

Inherited from ​

Resource.updates


updateTarget ​

ts
updateTarget: 
  | APIUpdateTarget
  | null
  | undefined;

Defined in: packages/client/src/resources/RemoteDocument.ts:11

Undefined until metadata is loaded; null means the API explicitly provides no update target.

Inherited from ​

Resource.updateTarget

Accessors ​

id ​

Get Signature ​

ts
get id(): string;

Defined in: packages/client/src/resources/Resource.ts:34

Returns ​

string

Inherited from ​

Resource.id


productIds ​

Get Signature ​

ts
get productIds(): string[];

Defined in: packages/client/src/resources/ChatParticipant.ts:45

The outfit's product ids, avatar body first, decoded from lookUrl.

Returns ​

string[]


url ​

Get Signature ​

ts
get url(): string;

Defined in: packages/client/src/resources/RemoteDocument.ts:28

Canonical REST URL and cache identity for this document.

Returns ​

string

Inherited from ​

Resource.url


user ​

Get Signature ​

ts
get user(): 
  | User<UserRelations>
  | undefined;

Defined in: packages/client/src/resources/ChatParticipant.ts:53

The participant's user, from the cache. Participant reads embed the full user, so this is normally set without any request. Use fetchUser when it is not.

Returns ​

| User<UserRelations> | undefined


userId ​

Get Signature ​

ts
get userId(): string;

Defined in: packages/client/src/resources/ChatParticipant.ts:40

The participant's user id (cid), from the canonical URL.

Returns ​

string

Methods ​

_applyRemoteMetadata() ​

ts
_applyRemoteMetadata(url, updateTarget): void;

Defined in: packages/client/src/resources/RemoteDocument.ts:33

Internal

Apply address/update metadata from an authoritative REST response.

Parameters ​

ParameterType
urlstring
updateTargetAPIUpdateTarget | null

Returns ​

void

Inherited from ​

Resource._applyRemoteMetadata


_hydrate() ​

ts
_hydrate(node): void;

Defined in: packages/client/src/resources/Resource.ts:69

Internal

Refresh this canonical instance from an authoritative REST document.

Parameters ​

ParameterType
nodeAPIResource

Returns ​

void

Inherited from ​

Resource._hydrate


_invalidate() ​

ts
_invalidate(): void;

Defined in: packages/client/src/resources/RemoteDocument.ts:40

Internal

Mark this document stale after an IMQ invalidation.

Returns ​

void

Inherited from ​

Resource._invalidate


_patch() ​

ts
_patch(data): void;

Defined in: packages/client/src/resources/ChatParticipant.ts:24

Internal

Assign fields from a raw (possibly partial) API payload. Used by build for the initial data and, later, by IMQ for in-place live updates — hence the in guards, so a partial payload only touches the fields it carries. Subclasses override this and call super._patch(data).

Parameters ​

ParameterType
dataRecord<string, any>

Returns ​

void

Overrides ​

Resource._patch


authenticated() ​

ts
protected authenticated(): void;

Defined in: packages/client/src/resources/Resource.ts:104

Returns ​

void

Inherited from ​

Resource.authenticated


collectionRelationship() ​

ts
protected collectionRelationship<T, K>(
   relation, 
   cls, 
   options?
): Collection<T>;

Defined in: packages/client/src/resources/Resource.ts:122

Type Parameters ​

Type Parameter
T extends Resource<APIRelations, APIUpdateTarget>
K extends "ref"

Parameters ​

ParameterType
relationK
clsConstructor<T>
options?CollectionOptions

Returns ​

Collection<T>

Inherited from ​

Resource.collectionRelationship


fetchUser() ​

ts
fetchUser(options?): Promise<User<UserRelations>>;

Defined in: packages/client/src/resources/ChatParticipant.ts:59

The participant's user, read from the API only if it is not cached.

Parameters ​

ParameterType
options?FetchOptions

Returns ​

Promise<User<UserRelations>>


refresh() ​

ts
refresh(): Promise<ChatParticipant>;

Defined in: packages/client/src/resources/Resource.ts:95

Re-read this resource from REST and update it in place. Resolves to the same instance, so references held elsewhere see the fresh data and stale clears.

Returns ​

Promise<ChatParticipant>

Inherited from ​

Resource.refresh


relationship() ​

ts
protected relationship<T, K>(
   relation, 
   cls, 
   options?
): Promise<T | null>;

Defined in: packages/client/src/resources/Resource.ts:110

Type Parameters ​

Type Parameter
T extends Resource<APIRelations, APIUpdateTarget>
K extends "ref"

Parameters ​

ParameterType
relationK
clsConstructor<T>
options?FetchOptions

Returns ​

Promise<T | null>

Inherited from ​

Resource.relationship


watch() ​

ts
watch(): Promise<DocumentWatch<ChatParticipant>>;

Defined in: packages/client/src/resources/RemoteDocument.ts:46

Observe explicit IMQ invalidations for this document.

Returns ​

Promise<DocumentWatch<ChatParticipant>>

Inherited from ​

Resource.watch


build() ​

ts
static build<T>(
   this, 
   client, 
   node
): T;

Defined in: packages/client/src/resources/Resource.ts:57

Construct a resource from a raw API node, then populate it via _patch. No validation — we trust the wire types and rely on tests for API drift (see MODERNIZATION.md). Fields keep their defaults until _patch overwrites them, so an instance is never in an unset state.

Type Parameters ​

Type Parameter
T extends Resource<any, APIUpdateTarget>

Parameters ​

ParameterType
thisnew (client, options?) => T
clientClient
nodeAPIResource

Returns ​

T

Inherited from ​

Resource.build

Released under the MIT License.