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
new DocumentStore(client, maximumStrongSize?): DocumentStore;Defined in: packages/client/src/client/DocumentStore.ts:23
Parameters
| Parameter | Type | Default value |
|---|---|---|
client | Client | undefined |
maximumStrongSize? | number | 1_000 |
Returns
DocumentStore
Accessors
strongSize
Get Signature
get strongSize(): number;Defined in: packages/client/src/client/DocumentStore.ts:28
Returns
number
Methods
clear()
clear(): void;Defined in: packages/client/src/client/DocumentStore.ts:96
Returns
void
get()
get<T>(url, cls?): T | undefined;Defined in: packages/client/src/client/DocumentStore.ts:32
Type Parameters
| Type Parameter |
|---|
T extends RemoteDocument |
Parameters
| Parameter | Type |
|---|---|
url | string |
cls? | new (...args) => T |
Returns
T | undefined
ingest()
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
| Parameter | Type |
|---|---|
response | APISuccessResponse |
Returns
void
remember()
remember<T>(document): T;Defined in: packages/client/src/client/DocumentStore.ts:46
Type Parameters
| Type Parameter |
|---|
T extends RemoteDocument |
Parameters
| Parameter | Type |
|---|---|
document | T |
Returns
T
upsertResource()
upsertResource<T>(cls, node): T;Defined in: packages/client/src/client/DocumentStore.ts:66
Type Parameters
| Type Parameter |
|---|
T extends Resource<APIRelations, APIUpdateTarget> |
Parameters
| Parameter | Type |
|---|---|
cls | ResourceConstructor<T> |
node | APIResource |
Returns
T