mongodb-log-writer 1.1.5 → 1.3.0

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/lib/index.d.ts CHANGED
@@ -30,6 +30,7 @@ export declare class MongoLogWriter extends Writable {
30
30
  warn(component: string, id: MongoLogId, context: string, message: string, attr?: unknown): void;
31
31
  error(component: string, id: MongoLogId, context: string, message: string, attr?: unknown): void;
32
32
  fatal(component: string, id: MongoLogId, context: string, message: string, attr?: unknown): void;
33
+ debug(component: string, id: MongoLogId, context: string, message: string, attr?: unknown, level?: 1 | 2 | 3 | 4 | 5): void;
33
34
  bindComponent(component: string): {
34
35
  unbound: MongoLogWriter;
35
36
  component: string;
@@ -38,6 +39,7 @@ export declare class MongoLogWriter extends Writable {
38
39
  warn(id: MongoLogId, context: string, message: string, attr?: unknown): void;
39
40
  error(id: MongoLogId, context: string, message: string, attr?: unknown): void;
40
41
  fatal(id: MongoLogId, context: string, message: string, attr?: unknown): void;
42
+ debug(id: MongoLogId, context: string, message: string, attr?: unknown, level?: 1 | 2 | 3 | 4 | 5): void;
41
43
  };
42
44
  mongoLogId: typeof mongoLogId;
43
45
  }
@@ -45,13 +47,14 @@ interface MongoLogOptions {
45
47
  directory: string;
46
48
  gzip?: boolean;
47
49
  retentionDays: number;
50
+ maxLogFileCount?: number;
48
51
  onerror: (err: Error, path: string) => unknown | Promise<void>;
49
52
  onwarn: (err: Error, path: string) => unknown | Promise<void>;
50
53
  }
51
54
  export declare class MongoLogManager {
52
55
  _options: MongoLogOptions;
53
56
  constructor(options: MongoLogOptions);
54
- cleanupOldLogfiles(): Promise<void>;
57
+ cleanupOldLogfiles(maxDurationMs?: number): Promise<void>;
55
58
  createLogWriter(): Promise<MongoLogWriter>;
56
59
  }
57
60
  export {};
package/lib/index.js CHANGED
@@ -11,6 +11,7 @@ const path_1 = __importDefault(require("path"));
11
11
  const stream_1 = require("stream");
12
12
  const util_1 = require("util");
13
13
  const zlib_1 = require("zlib");
14
+ const heap_js_1 = require("heap-js");
14
15
  function mongoLogId(id) {
15
16
  return { __value: id };
16
17
  }
@@ -155,6 +156,17 @@ class MongoLogWriter extends stream_1.Writable {
155
156
  };
156
157
  this.write(logEntry);
157
158
  }
159
+ debug(component, id, context, message, attr, level = 1) {
160
+ const logEntry = {
161
+ s: `D${level}`,
162
+ c: component,
163
+ id: id,
164
+ ctx: context,
165
+ msg: message,
166
+ attr: attr
167
+ };
168
+ this.write(logEntry);
169
+ }
158
170
  bindComponent(component) {
159
171
  return {
160
172
  unbound: this,
@@ -163,7 +175,8 @@ class MongoLogWriter extends stream_1.Writable {
163
175
  info: this.info.bind(this, component),
164
176
  warn: this.warn.bind(this, component),
165
177
  error: this.error.bind(this, component),
166
- fatal: this.fatal.bind(this, component)
178
+ fatal: this.fatal.bind(this, component),
179
+ debug: this.debug.bind(this, component)
167
180
  };
168
181
  }
169
182
  }
@@ -172,30 +185,47 @@ class MongoLogManager {
172
185
  constructor(options) {
173
186
  this._options = options;
174
187
  }
175
- async cleanupOldLogfiles() {
176
- var _a, _b;
188
+ async cleanupOldLogfiles(maxDurationMs = 5000) {
189
+ var _a, _b, _c;
177
190
  const dir = this._options.directory;
178
191
  let dirHandle;
179
192
  try {
180
193
  dirHandle = await fs_1.promises.opendir(dir);
181
194
  }
182
- catch (_c) {
195
+ catch (_d) {
183
196
  return;
184
197
  }
198
+ const deletionStartTimestamp = Date.now();
199
+ const deletionCutoffTimestamp = deletionStartTimestamp - this._options.retentionDays * 86400 * 1000;
200
+ const leastRecentFileHeap = new heap_js_1.Heap((a, b) => a.fileTimestamp - b.fileTimestamp);
185
201
  for await (const dirent of dirHandle) {
202
+ if (Date.now() - deletionStartTimestamp > maxDurationMs)
203
+ break;
186
204
  if (!dirent.isFile())
187
205
  continue;
188
206
  const { id } = (_b = (_a = dirent.name.match(/^(?<id>[a-f0-9]{24})_log(\.gz)?$/i)) === null || _a === void 0 ? void 0 : _a.groups) !== null && _b !== void 0 ? _b : {};
189
207
  if (!id)
190
208
  continue;
191
- if (+new bson_1.ObjectId(id).getTimestamp() / 1000 <
192
- (Date.now() / 1000) - this._options.retentionDays * 86400) {
193
- const toUnlink = path_1.default.join(dir, dirent.name);
194
- try {
195
- await fs_1.promises.unlink(toUnlink);
209
+ const fileTimestamp = +new bson_1.ObjectId(id).getTimestamp();
210
+ const fullPath = path_1.default.join(dir, dirent.name);
211
+ let toDelete;
212
+ if (fileTimestamp < deletionCutoffTimestamp) {
213
+ toDelete = fullPath;
214
+ }
215
+ else if (this._options.maxLogFileCount) {
216
+ leastRecentFileHeap.push({ fullPath, fileTimestamp });
217
+ if (leastRecentFileHeap.size() > this._options.maxLogFileCount) {
218
+ toDelete = (_c = leastRecentFileHeap.pop()) === null || _c === void 0 ? void 0 : _c.fullPath;
196
219
  }
197
- catch (err) {
198
- this._options.onerror(err, toUnlink);
220
+ }
221
+ if (!toDelete)
222
+ continue;
223
+ try {
224
+ await fs_1.promises.unlink(toDelete);
225
+ }
226
+ catch (err) {
227
+ if ((err === null || err === void 0 ? void 0 : err.code) !== 'ENOENT') {
228
+ this._options.onerror(err, fullPath);
199
229
  }
200
230
  }
201
231
  }
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAuC;AACvC,mCAA8B;AAC9B,2BAAuD;AACvD,gDAAwB;AACxB,mCAAkC;AAClC,+BAA+B;AAC/B,+BAA8D;AAC9D,qCAA+B;AAc/B,SAAgB,UAAU,CAAC,EAAU;IACnC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACzB,CAAC;AAFD,gCAEC;AA2BD,SAAS,gBAAgB,CAAC,IAAmB;;IAC3C,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE;QAC9B,OAAO,IAAI,SAAS,CAAC,8CAA8C,CAAC,CAAC;KACtE;IACD,IAAI,OAAO,IAAI,CAAC,CAAC,KAAK,QAAQ,EAAE;QAC9B,OAAO,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;KACvE;IACD,IAAI,OAAO,CAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,OAAO,CAAA,KAAK,QAAQ,EAAE;QACxC,OAAO,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAC;KACjE;IACD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;QAChC,OAAO,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACrE;IACD,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE;QAChC,OAAO,IAAI,SAAS,CAAC,6CAA6C,CAAC,CAAC;KACrE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,MAAa,cAAe,SAAQ,iBAAQ;IAY1C,YAAY,KAAa,EAAE,WAA0B,EAAE,MAAqB,EAAE,GAAgB;QAC5F,KAAK,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAkO9B,eAAU,GAAG,UAAU,CAAC;QAjOtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAGD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAGD,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,IAAmB,EAAE,QAAiB,EAAE,QAAkD;;QAC/F,MAAM,eAAe,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,eAAe,EAAE;YACnB,QAAQ,CAAC,eAAe,CAAC,CAAC;YAC1B,OAAO;SACR;QAGD,MAAM,QAAQ,GAA+C;YAC3D,CAAC,EAAE,MAAA,IAAI,CAAC,CAAC,mCAAI,IAAI,CAAC,IAAI,EAAE;YACxB,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,CAAC,EAAE,IAAI,CAAC,CAAC;YACT,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,OAAO;YACnB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,gBAAgB,EAAE;gBAClE,QAAQ,CAAC,IAAI,GAAG;oBACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;oBACtB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;oBAC1B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpB,GAAG,IAAI,CAAC,IAAI;iBACb,CAAC;aACH;iBAAM;gBACL,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;aAC3B;SACF;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAI3B,IAAI;YACF,YAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SAChC;QAAC,WAAM;YACN,IAAI;gBAIF,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3D,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACxB,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;aACxB;YAAC,WAAM;gBACN,IAAI;oBACF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzD,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;oBACxB,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;iBACxB;gBAAC,WAAM;oBACN,QAAQ,CAAC,IAAI,GAAG,EAAE,UAAU,EAAE,IAAA,cAAO,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;iBACxD;aACF;SACF;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,YAAK,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,QAAQ,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,CAAC,QAAkD;QACvD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAGD,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;IAChE,CAAC;IAKD,IAAI,CAAC,SAAiB,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAc;QACtF,MAAM,QAAQ,GAAkB;YAC9B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAKD,IAAI,CAAC,SAAiB,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAc;QACtF,MAAM,QAAQ,GAAkB;YAC9B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,SAAiB,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAc;QACvF,MAAM,QAAQ,GAAkB;YAC9B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,SAAiB,EAAE,EAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAc;QACvF,MAAM,QAAQ,GAAkB;YAC9B,CAAC,EAAE,GAAG;YACN,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAKD,KAAK,CACH,SAAiB,EACjB,EAAc,EACd,OAAe,EACf,OAAe,EACf,IAAc,EACd,QAA2B,CAAC;QAE5B,MAAM,QAAQ,GAAkB;YAC9B,CAAC,EAAE,IAAI,KAAK,EAAE;YACd,CAAC,EAAE,SAAS;YACZ,EAAE,EAAE,EAAE;YACN,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,IAAI;SACX,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAKD,aAAa,CAAC,SAAiB;QAuC7B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC;YAChE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACrC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;YACvC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;SACxC,CAAC;IACJ,CAAC;CAGF;AAhPD,wCAgPC;AAuBD,MAAa,eAAe;IAG1B,YAAY,OAAwB;QAClC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAGD,KAAK,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAK;;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QACpC,IAAI,SAAS,CAAC;QACd,IAAI;YACF,SAAS,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SACnC;QAAC,WAAM;YACN,OAAO;SACR;QAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE1C,MAAM,uBAAuB,GAAG,sBAAsB,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;QAGpG,MAAM,mBAAmB,GAAG,IAAI,cAAI,CAEjC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;QAEhD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,SAAS,EAAE;YAKpC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,sBAAsB,GAAG,aAAa;gBAAE,MAAM;YAE/D,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;gBAAE,SAAS;YAC/B,MAAM,EAAE,EAAE,EAAE,GAAG,MAAA,MAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,0CAAE,MAAM,mCAAI,EAAE,CAAC;YACpF,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,MAAM,aAAa,GAAG,CAAC,IAAI,eAAQ,CAAC,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,QAA4B,CAAC;YAKjC,IAAI,aAAa,GAAG,uBAAuB,EAAE;gBAC3C,QAAQ,GAAG,QAAQ,CAAC;aACrB;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACxC,mBAAmB,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;gBACtD,IAAI,mBAAmB,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;oBAC9D,QAAQ,GAAG,MAAA,mBAAmB,CAAC,GAAG,EAAE,0CAAE,QAAQ,CAAC;iBAChD;aACF;YAED,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,IAAI;gBACF,MAAM,aAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aAC3B;YAAC,OAAO,GAAQ,EAAE;gBACjB,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,MAAK,QAAQ,EAAE;oBAC1B,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;iBACtC;aACF;SACF;IACH,CAAC;IAGD,KAAK,CAAC,eAAe;QACnB,MAAM,KAAK,GAAG,IAAI,eAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACpC,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE7F,IAAI,cAAwB,CAAC;QAC7B,IAAI,MAAgB,CAAC;QACrB,IAAI,SAAqC,CAAC;QAC1C,IAAI;YACF,MAAM,GAAG,IAAA,sBAAiB,EAAC,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzD,cAAc,GAAG,MAAM,CAAC;YACxB,MAAM,IAAA,aAAI,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC5B,IAAI,MAAM,EAAE;gBACV,MAAM,GAAG,IAAA,iBAAU,EAAC;oBAClB,KAAK,EAAE,gBAAa,CAAC,YAAY;oBACjC,KAAK,EAAE,gBAAa,CAAC,WAAW;iBACjC,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC7B;iBAAM;gBACL,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;aACtD;SACF;QAAC,OAAO,GAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACvC,MAAM,GAAG,IAAI,iBAAQ,CAAC;gBACpB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBAElB,EAAE,EAAE,CAAC;gBACP,CAAC;aACF,CAAC,CAAC;YACH,cAAc,GAAG,MAAM,CAAC;YACxB,SAAS,GAAG,IAAI,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;SACrD;QACD,IAAI,CAAC,SAAS,EAAE;YACd,SAAS,GAAG,IAAI,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;SAC5D;QAKD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA1GD,0CA0GC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mongodb-log-writer",
3
- "version": "1.1.5",
3
+ "version": "1.3.0",
4
4
  "description": "A library for writing MongoDB logv2 messages",
5
5
  "keywords": [
6
6
  "mongodb",
@@ -37,7 +37,8 @@
37
37
  },
38
38
  "license": "Apache-2.0",
39
39
  "dependencies": {
40
- "bson": "^4.5.1 || ^5.0.0"
40
+ "bson": "^4.5.1 || ^5.0.0",
41
+ "heap-js": "^2.3.0"
41
42
  },
42
43
  "devDependencies": {
43
44
  "@types/mocha": "^9.0.0",