Documentation / @imvu/client / User
Class: User<TRelations>
Defined in: packages/client/src/resources/User.ts:8
Shared state for any remotely addressable node, edge, or collection document.
Extends
Resource<TRelations>
Type Parameters
| Type Parameter | Default type |
|---|---|
TRelations extends UserRelations | UserRelations |
Constructors
Constructor
new User<TRelations>(client, options?): User<TRelations>;Defined in: packages/client/src/resources/Resource.ts:23
Parameters
| Parameter | Type |
|---|---|
client | Client |
options? | ResourceOptions |
Returns
User<TRelations>
Inherited from
Properties
_id
_id: string = '';Defined in: packages/client/src/resources/Resource.ts:21
Inherited from
_url
protected _url: string = '';Defined in: packages/client/src/resources/RemoteDocument.ts:13
Inherited from
age?
age?: number;Defined in: packages/client/src/resources/User.ts:13
availability
availability: string = '';Defined in: packages/client/src/resources/User.ts:30
'Available', or 'DoNotDisturb' when the user hides their online status.
avatarImage
avatarImage: string = '';Defined in: packages/client/src/resources/User.ts:16
avatarPortraitImage
avatarPortraitImage: string = '';Defined in: packages/client/src/resources/User.ts:17
client
protected readonly client: Client;Defined in: packages/client/src/resources/RemoteDocument.ts:16
Inherited from
country
country: string = '';Defined in: packages/client/src/resources/User.ts:14
created
created: string = '';Defined in: packages/client/src/resources/User.ts:9
displayName
displayName: string = '';Defined in: packages/client/src/resources/User.ts:12
fetchedAt
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
gender?
gender?: string;Defined in: packages/client/src/resources/User.ts:11
interests
interests: string = '';Defined in: packages/client/src/resources/User.ts:27
isAdult
isAdult: boolean = false;Defined in: packages/client/src/resources/User.ts:22
isAgeVerified
isAgeVerified: boolean = false;Defined in: packages/client/src/resources/User.ts:23
isAp
isAp: boolean = false;Defined in: packages/client/src/resources/User.ts:20
isCreator
isCreator: boolean = false;Defined in: packages/client/src/resources/User.ts:21
isStaff
isStaff: boolean = false;Defined in: packages/client/src/resources/User.ts:24
isVip
isVip: boolean = false;Defined in: packages/client/src/resources/User.ts:19
online
online: boolean = false;Defined in: packages/client/src/resources/User.ts:28
options
protected options: ResourceOptions = {};Defined in: packages/client/src/resources/Resource.ts:25
Inherited from
registered
registered: number = 0;Defined in: packages/client/src/resources/User.ts:10
relations
relations: Partial<TRelations> = {};Defined in: packages/client/src/resources/Resource.ts:44
Internal
Inherited from
revision
revision: number = 0;Defined in: packages/client/src/resources/RemoteDocument.ts:8
Inherited from
stale
stale: boolean = false;Defined in: packages/client/src/resources/RemoteDocument.ts:9
Inherited from
state
state: string | null = null;Defined in: packages/client/src/resources/User.ts:15
tagline
tagline: string = '';Defined in: packages/client/src/resources/User.ts:26
Short public profile text (labelled "BIO" on the web; 100 characters there).
updates
updates: Partial<TUpdates> = {};Defined in: packages/client/src/resources/Resource.ts:49
Internal
Inherited from
updateTarget
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
username
username: string = '';Defined in: packages/client/src/resources/User.ts:18
Accessors
id
Get Signature
get id(): string;Defined in: packages/client/src/resources/Resource.ts:34
Returns
string
Inherited from
url
Get Signature
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
Methods
_applyRemoteMetadata()
_applyRemoteMetadata(url, updateTarget): void;Defined in: packages/client/src/resources/RemoteDocument.ts:33
Internal
Apply address/update metadata from an authoritative REST response.
Parameters
| Parameter | Type |
|---|---|
url | string |
updateTarget | APIUpdateTarget | null |
Returns
void
Inherited from
_hydrate()
_hydrate(node): void;Defined in: packages/client/src/resources/Resource.ts:69
Internal
Refresh this canonical instance from an authoritative REST document.
Parameters
| Parameter | Type |
|---|---|
node | APIResource |
Returns
void
Inherited from
_invalidate()
_invalidate(): void;Defined in: packages/client/src/resources/RemoteDocument.ts:40
Internal
Mark this document stale after an IMQ invalidation.
Returns
void
Inherited from
_patch()
_patch(data): void;Defined in: packages/client/src/resources/User.ts:32
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
| Parameter | Type |
|---|---|
data | Record<string, any> |
Returns
void
Overrides
add()
add(): Promise<boolean>;Defined in: packages/client/src/resources/User.ts:89
A convenience method for sending a friend request to this user.
Returns
Promise<boolean>
See
authenticated()
protected authenticated(): void;Defined in: packages/client/src/resources/Resource.ts:104
Returns
void
Inherited from
collectionRelationship()
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 string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
relation | K |
cls | Constructor<T> |
options? | CollectionOptions |
Returns
Collection<T>
Inherited from
Resource.collectionRelationship
creator()
creator(): Promise<Creator | null>;Defined in: packages/client/src/resources/User.ts:64
Returns
Promise<Creator | null>
current_room()
current_room(): Promise<Room | null>;Defined in: packages/client/src/resources/User.ts:76
Returns
Promise<Room | null>
gift()
gift(product, message?): Promise<GiftResult>;Defined in: packages/client/src/resources/User.ts:80
Parameters
| Parameter | Type | Default value |
|---|---|---|
product | string | number | Product | undefined |
message? | string | '' |
Returns
Promise<GiftResult>
matched()
matched(): Promise<GetMatched | null>;Defined in: packages/client/src/resources/User.ts:72
Returns
Promise<GetMatched | null>
profile()
profile(): Promise<ProfileUser | null>;Defined in: packages/client/src/resources/User.ts:60
Returns
Promise<ProfileUser | null>
refresh()
refresh(): Promise<User<TRelations>>;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<User<TRelations>>
Inherited from
relationship()
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 string | number | symbol |
Parameters
| Parameter | Type |
|---|---|
relation | K |
cls | Constructor<T> |
options? | FetchOptions |
Returns
Promise<T | null>
Inherited from
remove()
remove(): Promise<boolean>;Defined in: packages/client/src/resources/User.ts:98
A convenience method for removing a user from your friends list.
Returns
Promise<boolean>
See
spouse()
spouse(): Promise<User<UserRelations> | null>;Defined in: packages/client/src/resources/User.ts:68
Returns
Promise<User<UserRelations> | null>
watch()
watch(): Promise<DocumentWatch<User<TRelations>>>;Defined in: packages/client/src/resources/RemoteDocument.ts:46
Observe explicit IMQ invalidations for this document.
Returns
Promise<DocumentWatch<User<TRelations>>>
Inherited from
wishlist()
wishlist(): Collection<Product>;Defined in: packages/client/src/resources/User.ts:56
Returns
build()
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
| Parameter | Type |
|---|---|
this | new (client, options?) => T |
client | Client |
node | APIResource |
Returns
T