deepbase-sqlite 3.6.6 → 3.6.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/SqliteDriver.js +3 -2
- package/test/test.js +9 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "deepbase-sqlite",
|
|
3
|
-
"version": "3.6.
|
|
3
|
+
"version": "3.6.7",
|
|
4
4
|
"description": "⚡ DeepBase SQLite - SQLite database driver",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.cjs",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"better-sqlite3": "^11.8.1"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"deepbase": "^3.6.
|
|
20
|
+
"deepbase": "^3.6.7"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"test": "mocha test/test.js"
|
package/src/SqliteDriver.js
CHANGED
|
@@ -126,7 +126,8 @@ export class SqliteDriver extends DeepBaseDriver {
|
|
|
126
126
|
this.setStmt.run(key, jsonValue);
|
|
127
127
|
});
|
|
128
128
|
|
|
129
|
-
this._delTxn = this.db.transaction((key, likePattern) => {
|
|
129
|
+
this._delTxn = this.db.transaction((key, likePattern, keys) => {
|
|
130
|
+
this._expandParentObjects(keys);
|
|
130
131
|
this.delStmt.run(key);
|
|
131
132
|
this.delChildrenStmt.run(likePattern);
|
|
132
133
|
});
|
|
@@ -222,7 +223,7 @@ export class SqliteDriver extends DeepBaseDriver {
|
|
|
222
223
|
}
|
|
223
224
|
|
|
224
225
|
const key = this._pathToKey(keys);
|
|
225
|
-
this._delTxn(key, this._likePrefix(key));
|
|
226
|
+
this._delTxn(key, this._likePrefix(key), keys);
|
|
226
227
|
}
|
|
227
228
|
|
|
228
229
|
async inc(...args) {
|
package/test/test.js
CHANGED
|
@@ -159,6 +159,15 @@ for (const pragma of PRAGMA_MODES) {
|
|
|
159
159
|
assert.deepStrictEqual(await db.get('user'), { name: 'Alice' });
|
|
160
160
|
});
|
|
161
161
|
|
|
162
|
+
it('should delete a deep key from an object value', async function () {
|
|
163
|
+
await db.set('a', {
|
|
164
|
+
b: { c: 1, d: 2 },
|
|
165
|
+
e: 3,
|
|
166
|
+
});
|
|
167
|
+
await db.del('a', 'b', 'c');
|
|
168
|
+
assert.deepStrictEqual(await db.get('a'), { b: { d: 2 }, e: 3 });
|
|
169
|
+
});
|
|
170
|
+
|
|
162
171
|
it('should delete parent and all children', async function () {
|
|
163
172
|
await db.set('parent', 'child1', 'value1');
|
|
164
173
|
await db.set('parent', 'child2', 'value2');
|