Interface: WriteTransaction
WriteTransactions are used with mutators which are registered using mutators and allows read and write operations on the database.
Hierarchy
↳
WriteTransaction
Properties
clientID
• Readonly
clientID: string
Inherited from
environment
• Readonly
environment: TransactionEnvironment
Deprecated
Use location instead.
Inherited from
location
• Readonly
location: TransactionEnvironment
Inherited from
mutationID
• Readonly
mutationID: number
The ID of the mutation that is being applied.
reason
• Readonly
reason: TransactionReason
The reason for the transaction. This can be initial
, rebase
or authoriative
.
Methods
del
▸ del(key
): Promise
<boolean
>
Removes a key
and its value from the database. Returns true
if there was a
key
to remove.
Parameters
Name | Type |
---|---|
key | string |
Returns
Promise
<boolean
>
get
▸ get(key
): Promise
<undefined
| ReadonlyJSONValue
>
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
Name | Type |
---|---|
key | string |
Returns
Promise
<undefined
| ReadonlyJSONValue
>
Inherited from
▸ get<T
>(key
): Promise
<undefined
| DeepReadonly
<T
>>
Type parameters
Name | Type |
---|---|
T | extends JSONValue |
Parameters
Name | Type |
---|---|
key | string |
Returns
Promise
<undefined
| DeepReadonly
<T
>>
Inherited from
has
▸ has(key
): Promise
<boolean
>
Determines if a single key
is present in the database.
Parameters
Name | Type |
---|---|
key | string |
Returns
Promise
<boolean
>
Inherited from
isEmpty
▸ isEmpty(): Promise
<boolean
>
Whether the database is empty.
Returns
Promise
<boolean
>
Inherited from
put
▸ put(key
, value
): Promise
<void
>
Parameters
Name | Type |
---|---|
key | string |
value | ReadonlyJSONValue |
Returns
Promise
<void
>
Deprecated
Use set instead.
scan
▸ 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
Name | Type |
---|---|
options | ScanIndexOptions |
Returns
ScanResult
<IndexKey
, ReadonlyJSONValue
>
Inherited from
▸ scan(options?
): ScanResult
<string
, ReadonlyJSONValue
>
Parameters
Name | Type |
---|---|
options? | ScanNoIndexOptions |
Returns
ScanResult
<string
, ReadonlyJSONValue
>
Inherited from
▸ scan(options?
): ScanResult
<string
| IndexKey
, ReadonlyJSONValue
>
Parameters
Name | Type |
---|---|
options? | ScanOptions |
Returns
ScanResult
<string
| IndexKey
, ReadonlyJSONValue
>
Inherited from
▸ scan<V
>(options
): ScanResult
<IndexKey
, DeepReadonly
<V
>>
Type parameters
Name | Type |
---|---|
V | extends ReadonlyJSONValue |
Parameters
Name | Type |
---|---|
options | ScanIndexOptions |
Returns
ScanResult
<IndexKey
, DeepReadonly
<V
>>
Inherited from
▸ scan<V
>(options?
): ScanResult
<string
, DeepReadonly
<V
>>
Type parameters
Name | Type |
---|---|
V | extends ReadonlyJSONValue |
Parameters
Name | Type |
---|---|
options? | ScanNoIndexOptions |
Returns
ScanResult
<string
, DeepReadonly
<V
>>
Inherited from
▸ scan<V
>(options?
): ScanResult
<string
| IndexKey
, DeepReadonly
<V
>>
Type parameters
Name | Type |
---|---|
V | extends ReadonlyJSONValue |
Parameters
Name | Type |
---|---|
options? | ScanOptions |
Returns
ScanResult
<string
| IndexKey
, DeepReadonly
<V
>>
Inherited from
set
▸ set(key
, value
): Promise
<void
>
Sets a single value
in the database. The value will be frozen (using
Object.freeze
) in debug mode.
Parameters
Name | Type |
---|---|
key | string |
value | ReadonlyJSONValue |
Returns
Promise
<void
>