Skip to content

Documentation / @imvu/client / DocumentStore

Class: DocumentStore ​

Defined in: packages/client/src/client/DocumentStore.ts:12

Per-client canonical identity registry. Weak references preserve identity while callers hold a document; a bounded strong LRU keeps recently used documents hot.

Constructors ​

Constructor ​

ts
new DocumentStore(client, maximumStrongSize?): DocumentStore;

Defined in: packages/client/src/client/DocumentStore.ts:23

Parameters ​

ParameterTypeDefault value
clientClientundefined
maximumStrongSize?number1_000

Returns ​

DocumentStore

Accessors ​

strongSize ​

Get Signature ​

ts
get strongSize(): number;

Defined in: packages/client/src/client/DocumentStore.ts:28

Returns ​

number

Methods ​

clear() ​

ts
clear(): void;

Defined in: packages/client/src/client/DocumentStore.ts:96

Returns ​

void


get() ​

ts
get<T>(url, cls?): T | undefined;

Defined in: packages/client/src/client/DocumentStore.ts:32

Type Parameters ​

Type Parameter
T extends RemoteDocument

Parameters ​

ParameterType
urlstring
cls?new (...args) => T

Returns ​

T | undefined


ingest() ​

ts
ingest(response): void;

Defined in: packages/client/src/client/DocumentStore.ts:80

Absorb every document a response embeds: update instances we already hold, and build known resource types we don't, so later reads can come from the cache.

Parameters ​

ParameterType
responseAPISuccessResponse

Returns ​

void


remember() ​

ts
remember<T>(document): T;

Defined in: packages/client/src/client/DocumentStore.ts:46

Type Parameters ​

Type Parameter
T extends RemoteDocument

Parameters ​

ParameterType
documentT

Returns ​

T


upsertResource() ​

ts
upsertResource<T>(cls, node): T;

Defined in: packages/client/src/client/DocumentStore.ts:66

Type Parameters ​

Type Parameter
T extends Resource<APIRelations, APIUpdateTarget>

Parameters ​

ParameterType
clsResourceConstructor<T>
nodeAPIResource

Returns ​

T

Released under the MIT License.