if (this.value instanceof Array) {
let [ptr, len, value] = this.value
- if ((value instanceof Lazy && await value.flush()) || ptr === -1) {
- if (value instanceof Lazy)
- value = value.pack()
- let [ptr, len] = await this.database.write(value)
-
- this.value[0] = ptr
- this.value[1] = len
- this.dirty = true
+ if (value !== undefined) {
+ assert(value instanceof Lazy)
+ if (await value.flush()) {
+ let [ptr, len] = await this.database.write(value.pack())
+
+ this.value[0] = ptr
+ this.value[1] = len
+ this.dirty = true
+ }
}
}
let item = this.array[i]
if (item instanceof Array) {
let [ptr, len, value] = item
- if ((value instanceof Lazy && await value.flush()) || ptr === -1) {
- if (value instanceof Lazy)
- value = value.pack()
- let [ptr, len] = await this.transaction.database.write(value)
-
- item[0] = ptr
- item[1] = len
- this.ptr_len = null // mark dirty
+ if (value !== undefined) {
+ assert(value instanceof Lazy)
+ if (await value.flush()) {
+ let [ptr, len] = await this.transaction.database.write(value.pack())
+
+ item[0] = ptr
+ item[1] = len
+ this.ptr_len = null // mark dirty
+ }
}
}
}
let item = this.object[i]
if (item instanceof Array) {
let [ptr, len, value] = item
- if ((value instanceof Lazy && await value.flush()) || ptr === -1) {
- if (value instanceof Lazy)
- value = value.pack()
- let [ptr, len] = await this.transaction.database.write(value)
-
- item[0] = ptr
- item[1] = len
- this.ptr_len = null // mark dirty
+ if (value !== undefined) {
+ assert(value instanceof Lazy)
+ if (await value.flush()) {
+ let [ptr, len] = await this.transaction.database.write(value.pack())
+
+ item[0] = ptr
+ item[1] = len
+ this.ptr_len = null // mark dirty
+ }
}
}
}