@alcalzone/jsonl-db
Advanced tools
@@ -20,3 +20,3 @@ export declare class DB<V extends unknown = unknown> { | ||
| private readLines; | ||
| /** Opens the database file or creates it if it doesn't exist */ | ||
| private _openPromise; | ||
| open(): Promise<void>; | ||
@@ -23,0 +23,0 @@ /** Parses a line and updates the internal DB correspondingly */ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"AAQA,qBAAa,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;gBACvB,QAAQ,EAAE,MAAM;IAanC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC,OAAO,CAAC,GAAG,CAAwB;IAE3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,YAAY,CAAiC;IAErD,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAiBjB,gEAAgE;IACnD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAUlC,gEAAgE;IAChE,OAAO,CAAC,SAAS;IAUV,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMvC,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,WAAW;IAQnB,+DAA+D;IAClD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAgClC,gDAAgD;YAClC,WAAW;IAqBzB,oEAAoE;IACvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,yDAAyD;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBnC"} | ||
| {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"AAQA,qBAAa,EAAE,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO;gBACvB,QAAQ,EAAE,MAAM;IAanC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,YAAY,EAAE,MAAM,CAAC;IAErC,OAAO,CAAC,GAAG,CAAwB;IAE3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,gBAAgB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACnC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEzC,IAAW,IAAI,IAAI,MAAM,CAExB;IAED,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,YAAY,CAAiC;IAErD,uDAAuD;IACvD,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,YAAY,CAAoC;IAE3C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,gEAAgE;IAChE,OAAO,CAAC,SAAS;IAUV,KAAK,IAAI,IAAI;IAIb,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAQ5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAMvC,OAAO,CAAC,KAAK;IAQb,OAAO,CAAC,WAAW;IAQnB,+DAA+D;IAClD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAkClC,gDAAgD;YAClC,WAAW;IAwBzB,oEAAoE;IACvD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtC,OAAO,CAAC,eAAe,CAAoC;IAC3D,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,yDAAyD;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBnC"} |
+29
-14
@@ -37,2 +37,3 @@ "use strict"; | ||
| fd: this._fd, | ||
| autoClose: false, | ||
| }); | ||
@@ -48,3 +49,3 @@ const rl = readline.createInterface(readStream); | ||
| } | ||
| /** Opens the database file or creates it if it doesn't exist */ | ||
| // /** Opens the database file or creates it if it doesn't exist */ | ||
| async open() { | ||
@@ -67,4 +68,9 @@ var e_1, _a; | ||
| } | ||
| // Close the file again to avoid EBADF | ||
| await fs.close(this._fd); | ||
| this._fd = undefined; | ||
| // Start the write thread | ||
| this._openPromise = deferred_promise_1.createDeferredPromise(); | ||
| void this.writeThread(); | ||
| await this._openPromise; | ||
| } | ||
@@ -141,11 +147,15 @@ /** Parses a line and updates the internal DB correspondingly */ | ||
| } | ||
| // TODO: use cork() and uncork() to throttle filesystem accesses | ||
| /** Asynchronously performs all write actions */ | ||
| async writeThread() { | ||
| var e_2, _a; | ||
| var _b; | ||
| // TODO: use cork() and uncork() | ||
| var _b, _c; | ||
| // This must be called before any awaits | ||
| this._writeBacklog = new stream.PassThrough({ objectMode: true }); | ||
| // Open the file for appending and reading | ||
| this._fd = await fs.open(this.filename, "a+"); | ||
| (_b = this._openPromise) === null || _b === void 0 ? void 0 : _b.resolve(); | ||
| try { | ||
| for (var _c = __asyncValues(this._writeBacklog), _d; _d = await _c.next(), !_d.done;) { | ||
| const action = _d.value; | ||
| for (var _d = __asyncValues(this._writeBacklog), _e; _e = await _d.next(), !_e.done;) { | ||
| const action = _e.value; | ||
| if (action === "") { | ||
@@ -165,3 +175,3 @@ // Since we opened the file in append mode, we cannot truncate | ||
| try { | ||
| if (_d && !_d.done && (_a = _c.return)) await _a.call(_c); | ||
| if (_e && !_e.done && (_a = _d.return)) await _a.call(_d); | ||
| } | ||
@@ -173,3 +183,3 @@ finally { if (e_2) throw e_2.error; } | ||
| await fs.close(this._fd); | ||
| (_b = this._closeDBPromise) === null || _b === void 0 ? void 0 : _b.resolve(); | ||
| (_c = this._closeDBPromise) === null || _c === void 0 ? void 0 : _c.resolve(); | ||
| } | ||
@@ -179,5 +189,10 @@ /** Compresses the db by dumping it and overwriting the aof file. */ | ||
| await this.dump(); | ||
| // After dumping, cork the write backlog, so nothing gets written | ||
| this._writeBacklog.cork(); | ||
| await fs.close(this._fd); | ||
| // After dumping, restart the write thread so no duplicate entries get written | ||
| if (this._writeBacklog) { | ||
| this._closeDBPromise = deferred_promise_1.createDeferredPromise(); | ||
| // Disable writing into the backlog stream | ||
| this._writeBacklog.end(); | ||
| this._writeBacklog = undefined; | ||
| await this._closeDBPromise; | ||
| } | ||
| // Replace the aof file | ||
@@ -187,6 +202,6 @@ await fs.move(this.filename, this.filename + ".bak"); | ||
| await fs.unlink(this.filename + ".bak"); | ||
| // Re-open the file for appending | ||
| this._fd = await fs.open(this.filename, "a+"); | ||
| // and allow writing again | ||
| this._writeBacklog.uncork(); | ||
| // Start the write thread | ||
| this._openPromise = deferred_promise_1.createDeferredPromise(); | ||
| void this.writeThread(); | ||
| await this._openPromise; | ||
| } | ||
@@ -193,0 +208,0 @@ /** Closes the DB and waits for all data to be written */ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"db.js","sourceRoot":"","sources":["../../src/lib/db.ts"],"names":[],"mappings":"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"} |
+1
-1
| { | ||
| "name": "@alcalzone/jsonl-db", | ||
| "version": "0.1.0", | ||
| "version": "0.1.1", | ||
| "description": "Simple JSONL-based key-value store", | ||
@@ -5,0 +5,0 @@ "main": "./build/index.js", |
+9
-0
@@ -5,2 +5,8 @@ # jsonl-db | ||
|  | ||
| [](https://coveralls.io/github/AlCalzone/jsonl-db) | ||
| [](https://lgtm.com/projects/g/AlCalzone/jsonl-db/context:javascript) | ||
| [ ](https://www.npmjs.com/package/@alcalzone/jsonl-db) | ||
| ## Usage | ||
@@ -50,4 +56,7 @@ | ||
| ### 0.1.1 (2020-04-25) | ||
| * Fixed some race conditions | ||
| ### 0.1.0 (2020-04-25) | ||
| First official release |
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
Long strings
Supply chain riskContains long string literals, which may be a sign of obfuscated or packed code.
Found 1 instance in 1 package
24884
7.75%269
5.91%61
17.31%