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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "deepbase-sqlite",
3
- "version": "3.6.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.6"
20
+ "deepbase": "^3.6.7"
21
21
  },
22
22
  "scripts": {
23
23
  "test": "mocha test/test.js"
@@ -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');