Skip to main content

Interface: ReadTransaction

ReadTransactions are used with Replicache.query and Replicache.subscribe and allows read operations on the database.

Extended by​

Properties​

clientID​

readonly clientID: string


environment​

readonly environment: TransactionEnvironment

Deprecated​

Use ReadTransaction.location instead.


location​

readonly location: TransactionEnvironment

Methods​

get()​

Call Signature​

get(key): Promise<ReadonlyJSONValue | undefined>

Get a single value from the database. If the key is not present this returns undefined.

Important: The returned JSON is readonly and should not be modified. This is only enforced statically by TypeScript and there are no runtime checks for performance reasons. If you mutate the return value you will get undefined behavior.

Parameters​
key​

string

Returns​

Promise<ReadonlyJSONValue | undefined>

Call Signature​

get<T>(key): Promise<DeepReadonly<T> | undefined>

Type Parameters​
T​

T extends JSONValue

Parameters​
key​

string

Returns​

Promise<DeepReadonly<T> | undefined>


has()​

has(key): Promise<boolean>

Determines if a single key is present in the database.

Parameters​

key​

string

Returns​

Promise<boolean>


isEmpty()​

isEmpty(): Promise<boolean>

Whether the database is empty.

Returns​

Promise<boolean>


scan()​

Call Signature​

scan(options): ScanResult<IndexKey, ReadonlyJSONValue>

Gets many values from the database. This returns a ScanResult which implements AsyncIterable. It also has methods to iterate over the keys and entries.

If options has an indexName, then this does a scan over an index with that name. A scan over an index uses a tuple for the key consisting of [secondary: string, primary: string].

If the ScanResult is used after the ReadTransaction has been closed it will throw a TransactionClosedError.

Important: The returned JSON is readonly and should not be modified. This is only enforced statically by TypeScript and there are no runtime checks for performance reasons. If you mutate the return value you will get undefined behavior.

Parameters​
options​

ScanIndexOptions

Returns​

ScanResult<IndexKey, ReadonlyJSONValue>

Call Signature​

scan(options?): ScanResult<string, ReadonlyJSONValue>

Parameters​
options?​

ScanNoIndexOptions

Returns​

ScanResult<string, ReadonlyJSONValue>

Call Signature​

scan(options?): ScanResult<string | IndexKey, ReadonlyJSONValue>

Parameters​
options?​

ScanOptions

Returns​

ScanResult<string | IndexKey, ReadonlyJSONValue>

Call Signature​

scan<V>(options): ScanResult<IndexKey, DeepReadonly<V>>

Type Parameters​
V​

V extends ReadonlyJSONValue

Parameters​
options​

ScanIndexOptions

Returns​

ScanResult<IndexKey, DeepReadonly<V>>

Call Signature​

scan<V>(options?): ScanResult<string, DeepReadonly<V>>

Type Parameters​
V​

V extends ReadonlyJSONValue

Parameters​
options?​

ScanNoIndexOptions

Returns​

ScanResult<string, DeepReadonly<V>>

Call Signature​

scan<V>(options?): ScanResult<string | IndexKey, DeepReadonly<V>>

Type Parameters​
V​

V extends ReadonlyJSONValue

Parameters​
options?​

ScanOptions

Returns​

ScanResult<string | IndexKey, DeepReadonly<V>>