nx-mongo 3.8.2 → 3.8.4
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.
|
@@ -188,6 +188,7 @@ export declare class SimpleMongoHelper {
|
|
|
188
188
|
readonly progress: ProgressAPI;
|
|
189
189
|
private cleanupRegistered;
|
|
190
190
|
private isDisconnecting;
|
|
191
|
+
private namespace;
|
|
191
192
|
constructor(connectionString: string, retryOptions?: RetryOptions, config?: HelperConfig);
|
|
192
193
|
/**
|
|
193
194
|
* Sets or updates the configuration for ref-based operations.
|
|
@@ -195,6 +196,20 @@ export declare class SimpleMongoHelper {
|
|
|
195
196
|
* @returns This instance for method chaining
|
|
196
197
|
*/
|
|
197
198
|
useConfig(config: HelperConfig): this;
|
|
199
|
+
/**
|
|
200
|
+
* Sets the logging namespace for this instance
|
|
201
|
+
* @param namespace - Namespace string for logging
|
|
202
|
+
* @returns This instance for method chaining
|
|
203
|
+
*/
|
|
204
|
+
setNamespace(namespace: string): this;
|
|
205
|
+
/**
|
|
206
|
+
* Logging methods - delegates to console logger
|
|
207
|
+
*/
|
|
208
|
+
logVerbose(message: string): void;
|
|
209
|
+
logDebug(message: string): void;
|
|
210
|
+
logInfo(message: string): void;
|
|
211
|
+
logWarn(message: string): void;
|
|
212
|
+
logError(message: string, throwError?: boolean): void;
|
|
198
213
|
/**
|
|
199
214
|
* Tests the MongoDB connection and returns detailed error information if it fails.
|
|
200
215
|
* This method does not establish a persistent connection - use initialize() for that.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,EAAE,EAAc,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGvL,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvH,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CACN,QAAQ,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,EACtD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5J,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/G;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAsF5D;AA8DD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CACvC,GACA,MAAM,CA2BR;AA2XD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA6B;IAC3C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAkB;gBAE7B,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY;IAiBxF;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAKrC;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,qBAAqB,GAAG,2BAA2B,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;YACvI,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IA+OF;;;;;;;OAOG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA2D/F;;;;;;;OAOG;IACG,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAChD,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IA8C5C;;;;;;;OAOG;IACG,OAAO,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACzC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,EAChD,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAsB5B;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACjE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EACrC,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAoBf;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EACxE,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAsBf;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAmBf;;;;;;OAMG;IACG,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAChD,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;OAKG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarH;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC3C,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,EAAE,CAAC;IAaf;;;;;;;OAOG;IACG,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;;OAMG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAaxH;;;;;OAKG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAa9G;;;;OAIG;IACH,YAAY,IAAI,aAAa;IAU7B;;;;;OAKG;IACG,eAAe,CAAC,CAAC,EACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC;IAsBb;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC3C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAoE5C;;;;;;;;OAQG;IACG,oBAAoB,CACxB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GACA,OAAO,CAAC,0BAA0B,CAAC;IA4DtC;;;;;;;;;;OAUG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GACA,OAAO,CAAC,gBAAgB,CAAC;IA6K5B;;;;;;;;;;;OAWG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,EAAE,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IA0C5B;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqWzF;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAuEvB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBjC;;;;OAIG;IACI,iBAAiB,IAAI,IAAI;IAMhC;;;OAGG;IACI,KAAK,IAAI,EAAE;IAOlB;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IAmBzC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAqDvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;OAQG;IACI,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE;CAGjF"}
|
|
1
|
+
{"version":3,"file":"simpleMongoHelper.d.ts","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,EAAE,EAAc,MAAM,EAAE,YAAY,EAAE,wBAAwB,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAoLvL,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,IAAI,CAAC;CACb;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;KAC7B,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,MAAM,sBAAsB,GAAG;IAAE,OAAO,CAAC,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvH,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,QAAQ,CACN,QAAQ,EAAE,aAAa,GAAG;QAAE,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,EACtD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,YAAY,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;IAC5J,WAAW,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAChH,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/G;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE;QACT,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,aAAa,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,YAAY,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CAC3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAsF5D;AA8DD;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE;IACR,SAAS,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;CACvC,GACA,MAAM,CA2BR;AA2XD,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,MAAM,CAA4B;IAC1C,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI,CAAQ;IAC/B,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA6B;IAC3C,SAAgB,QAAQ,EAAE,WAAW,CAAC;IACtC,OAAO,CAAC,iBAAiB,CAAkB;IAC3C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,SAAS,CAAsB;gBAE3B,gBAAgB,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY;IAiBxF;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAMrC;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIjC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI/B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI9B,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc,GAAG,IAAI;IAI3D;;;;OAIG;IACG,cAAc,IAAI,OAAO,CAAC;QAC9B,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,CAAC,EAAE;YACN,IAAI,EAAE,qBAAqB,GAAG,2BAA2B,GAAG,mBAAmB,GAAG,uBAAuB,GAAG,cAAc,GAAG,SAAS,CAAC;YACvI,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IA+OF;;;;;;;OAOG;IACG,UAAU,CAAC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoE/F;;;;;;;OAOG;IACG,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAChD,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE,iBAAiB,EAC3B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAgD5C;;;;;;;OAOG;IACG,OAAO,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACzC,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAChB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,EAChD,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAwB5B;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,EAAE,EACjE,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EACrC,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAsBf;;;;;;;;OAQG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,EAC3B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,aAAa,CAAA;KAAE,EACxE,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAwBf;;;;;;;OAOG;IACG,MAAM,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EACxC,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,GAAG,CAAC;IAqBf;;;;;;OAMG;IACG,cAAc,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAChD,cAAc,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;OAKG;IACG,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAarH;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC3C,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,CAAC,EAAE,CAAC;IAaf;;;;;;;OAOG;IACG,WAAW,CACf,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,CAAC,EAAE,oBAAoB,EAC9B,QAAQ,CAAC,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,EACZ,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC;IAalB;;;;;;OAMG;IACG,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAaxH;;;;;OAKG;IACG,WAAW,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAa9G;;;;OAIG;IACH,YAAY,IAAI,aAAa;IAU7B;;;;;OAKG;IACG,eAAe,CAAC,CAAC,EACrB,QAAQ,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,GAC/C,OAAO,CAAC,CAAC,CAAC;IAsBb;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,SAAS,QAAQ,GAAG,QAAQ,EAC3C,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,iBAAiB,GAAG;QAAE,OAAO,CAAC,EAAE,aAAa,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACxG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAoE5C;;;;;;;;OAQG;IACG,oBAAoB,CACxB,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GACA,OAAO,CAAC,0BAA0B,CAAC;IA4DtC;;;;;;;;;;OAUG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,EAAE,EAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,aAAa,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GACA,OAAO,CAAC,gBAAgB,CAAC;IA6K5B;;;;;;;;;;;OAWG;IACG,UAAU,CACd,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,GAAG,EAAE,EAChB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IA0C5B;;;;;;OAMG;IACG,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAqWzF;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAuEvB;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBjC;;;;OAIG;IACI,iBAAiB,IAAI,IAAI;IAMhC;;;OAGG;IACI,KAAK,IAAI,EAAE;IAOlB;;;;;;;OAOG;IACH,OAAO,CAAC,iCAAiC;IAmBzC;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAqDvB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;;OAQG;IACI,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE;CAGjF"}
|
|
@@ -5,6 +5,155 @@ exports.getByDotPath = getByDotPath;
|
|
|
5
5
|
exports.computeSignature = computeSignature;
|
|
6
6
|
const mongodb_1 = require("mongodb");
|
|
7
7
|
const crypto_1 = require("crypto");
|
|
8
|
+
const nx_config2_1 = require("nx-config2");
|
|
9
|
+
/**
|
|
10
|
+
* Log level numeric values for comparison (lower = more verbose)
|
|
11
|
+
*/
|
|
12
|
+
const LOG_LEVEL_VALUES = {
|
|
13
|
+
verbose: 0,
|
|
14
|
+
debug: 1,
|
|
15
|
+
info: 2,
|
|
16
|
+
warn: 3,
|
|
17
|
+
error: 4,
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Console logger with environment-based level control
|
|
21
|
+
*/
|
|
22
|
+
class ConsoleLogger {
|
|
23
|
+
constructor() {
|
|
24
|
+
this.debugNamespaces = new Set();
|
|
25
|
+
this.debugPatterns = [];
|
|
26
|
+
// Auto-load config from .env files
|
|
27
|
+
(0, nx_config2_1.autoLoadConfig)();
|
|
28
|
+
// Get ENV_PREFIX from environment or use default
|
|
29
|
+
const envPrefix = process.env.ENV_PREFIX || '';
|
|
30
|
+
// Read LOGS_LEVEL from environment
|
|
31
|
+
// Priority: {ENV_PREFIX}_LOG_LEVEL > LOGS_LEVEL > default 'info'
|
|
32
|
+
const logLevelEnv = (envPrefix ? process.env[`${envPrefix}_LOG_LEVEL`] : null) ||
|
|
33
|
+
process.env.LOGS_LEVEL ||
|
|
34
|
+
'info';
|
|
35
|
+
// Validate and set global minimum level
|
|
36
|
+
if (this.isValidLogLevel(logLevelEnv)) {
|
|
37
|
+
this.globalMinLevel = logLevelEnv;
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this.globalMinLevel = 'info';
|
|
41
|
+
}
|
|
42
|
+
// Parse DEBUG environment variable for namespace matching
|
|
43
|
+
const debugEnv = process.env.DEBUG || '';
|
|
44
|
+
if (debugEnv) {
|
|
45
|
+
const patterns = debugEnv.split(',').map(p => p.trim());
|
|
46
|
+
for (const pattern of patterns) {
|
|
47
|
+
if (pattern === '*') {
|
|
48
|
+
// Wildcard matches everything
|
|
49
|
+
this.debugPatterns.push('*');
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Store pattern for matching
|
|
53
|
+
this.debugPatterns.push(pattern);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Checks if a string is a valid log level
|
|
60
|
+
*/
|
|
61
|
+
isValidLogLevel(level) {
|
|
62
|
+
return ['verbose', 'debug', 'info', 'warn', 'error'].includes(level);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Checks if a namespace matches any DEBUG pattern
|
|
66
|
+
*/
|
|
67
|
+
matchesDebugPattern(namespace) {
|
|
68
|
+
if (this.debugPatterns.length === 0) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
for (const pattern of this.debugPatterns) {
|
|
72
|
+
if (pattern === '*') {
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
// Simple wildcard matching: "my-pkg*" matches "my-pkg", "my-pkg:sub", etc.
|
|
76
|
+
if (pattern.endsWith('*')) {
|
|
77
|
+
const prefix = pattern.slice(0, -1);
|
|
78
|
+
if (namespace.startsWith(prefix)) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
else if (pattern === namespace) {
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return false;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Determines if a log entry should be printed to console
|
|
90
|
+
*/
|
|
91
|
+
shouldPrint(level, namespace) {
|
|
92
|
+
const levelValue = LOG_LEVEL_VALUES[level];
|
|
93
|
+
const minLevelValue = LOG_LEVEL_VALUES[this.globalMinLevel];
|
|
94
|
+
// Rule 1: Print if level >= global minimum level
|
|
95
|
+
if (levelValue >= minLevelValue) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
98
|
+
// Rule 2: Print verbose/debug if namespace matches DEBUG pattern
|
|
99
|
+
if ((level === 'verbose' || level === 'debug') && namespace) {
|
|
100
|
+
if (this.matchesDebugPattern(namespace)) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return false;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Logs a message to console
|
|
108
|
+
*/
|
|
109
|
+
log(level, message, namespace, throwError = false) {
|
|
110
|
+
if (!this.shouldPrint(level, namespace)) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Format message with namespace if provided
|
|
114
|
+
const formattedMessage = namespace ? `[${namespace}] ${message}` : message;
|
|
115
|
+
// Use appropriate console method
|
|
116
|
+
switch (level) {
|
|
117
|
+
case 'verbose':
|
|
118
|
+
case 'debug':
|
|
119
|
+
console.debug(formattedMessage);
|
|
120
|
+
break;
|
|
121
|
+
case 'info':
|
|
122
|
+
console.info(formattedMessage);
|
|
123
|
+
break;
|
|
124
|
+
case 'warn':
|
|
125
|
+
console.warn(formattedMessage);
|
|
126
|
+
break;
|
|
127
|
+
case 'error':
|
|
128
|
+
console.error(formattedMessage);
|
|
129
|
+
// Errors throw by default unless explicitly disabled
|
|
130
|
+
if (throwError !== false) {
|
|
131
|
+
throw new Error(formattedMessage);
|
|
132
|
+
}
|
|
133
|
+
break;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Convenience methods for each log level
|
|
138
|
+
*/
|
|
139
|
+
verbose(message, namespace) {
|
|
140
|
+
this.log('verbose', message, namespace, false);
|
|
141
|
+
}
|
|
142
|
+
debug(message, namespace) {
|
|
143
|
+
this.log('debug', message, namespace, false);
|
|
144
|
+
}
|
|
145
|
+
info(message, namespace) {
|
|
146
|
+
this.log('info', message, namespace, false);
|
|
147
|
+
}
|
|
148
|
+
warn(message, namespace) {
|
|
149
|
+
this.log('warn', message, namespace, false);
|
|
150
|
+
}
|
|
151
|
+
error(message, namespace, throwError = true) {
|
|
152
|
+
this.log('error', message, namespace, throwError);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Singleton logger instance
|
|
156
|
+
const logger = new ConsoleLogger();
|
|
8
157
|
/**
|
|
9
158
|
* Extracts values from an object using dot-notation paths with array wildcard support.
|
|
10
159
|
* Supports nested object paths (dot notation) and array wildcards ([]) to collect values from all array elements.
|
|
@@ -507,6 +656,7 @@ class SimpleMongoHelper {
|
|
|
507
656
|
this.config = null;
|
|
508
657
|
this.cleanupRegistered = false;
|
|
509
658
|
this.isDisconnecting = false;
|
|
659
|
+
this.namespace = 'nx-mongo';
|
|
510
660
|
// Store original connection string for database name extraction
|
|
511
661
|
this.originalConnectionString = connectionString;
|
|
512
662
|
// Strip database name from connection string if present (for backward compatibility)
|
|
@@ -528,8 +678,36 @@ class SimpleMongoHelper {
|
|
|
528
678
|
*/
|
|
529
679
|
useConfig(config) {
|
|
530
680
|
this.config = config;
|
|
681
|
+
logger.debug('Configuration updated', this.namespace);
|
|
682
|
+
return this;
|
|
683
|
+
}
|
|
684
|
+
/**
|
|
685
|
+
* Sets the logging namespace for this instance
|
|
686
|
+
* @param namespace - Namespace string for logging
|
|
687
|
+
* @returns This instance for method chaining
|
|
688
|
+
*/
|
|
689
|
+
setNamespace(namespace) {
|
|
690
|
+
this.namespace = namespace;
|
|
531
691
|
return this;
|
|
532
692
|
}
|
|
693
|
+
/**
|
|
694
|
+
* Logging methods - delegates to console logger
|
|
695
|
+
*/
|
|
696
|
+
logVerbose(message) {
|
|
697
|
+
logger.verbose(message, this.namespace);
|
|
698
|
+
}
|
|
699
|
+
logDebug(message) {
|
|
700
|
+
logger.debug(message, this.namespace);
|
|
701
|
+
}
|
|
702
|
+
logInfo(message) {
|
|
703
|
+
logger.info(message, this.namespace);
|
|
704
|
+
}
|
|
705
|
+
logWarn(message) {
|
|
706
|
+
logger.warn(message, this.namespace);
|
|
707
|
+
}
|
|
708
|
+
logError(message, throwError = true) {
|
|
709
|
+
logger.error(message, this.namespace, throwError);
|
|
710
|
+
}
|
|
533
711
|
/**
|
|
534
712
|
* Tests the MongoDB connection and returns detailed error information if it fails.
|
|
535
713
|
* This method does not establish a persistent connection - use initialize() for that.
|
|
@@ -770,8 +948,9 @@ class SimpleMongoHelper {
|
|
|
770
948
|
*/
|
|
771
949
|
async initialize(options) {
|
|
772
950
|
if (this.isInitialized) {
|
|
773
|
-
|
|
951
|
+
this.logError('SimpleMongoHelper is already initialized');
|
|
774
952
|
}
|
|
953
|
+
logger.debug('Initializing MongoDB connection', this.namespace);
|
|
775
954
|
// Use provided connection string or original (not stripped) connection string
|
|
776
955
|
const connectionString = options?.connectionString || this.originalConnectionString;
|
|
777
956
|
// ✅ Priority 1: Use provided databaseName parameter
|
|
@@ -784,11 +963,12 @@ class SimpleMongoHelper {
|
|
|
784
963
|
}
|
|
785
964
|
// ✅ Validate database name
|
|
786
965
|
if (dbName && !isValidDatabaseName(dbName)) {
|
|
787
|
-
|
|
966
|
+
this.logError(`Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`);
|
|
788
967
|
}
|
|
789
968
|
if (!dbName) {
|
|
790
|
-
|
|
969
|
+
this.logError('Database name is required. Provide databaseName parameter or include it in connection string path.');
|
|
791
970
|
}
|
|
971
|
+
logger.debug(`Using database: ${dbName}`, this.namespace);
|
|
792
972
|
// ✅ Clean connection string if databaseName was provided separately
|
|
793
973
|
// (to avoid using database name from URI path when we have explicit databaseName)
|
|
794
974
|
const cleanUri = dbNameProvided ?
|
|
@@ -797,26 +977,30 @@ class SimpleMongoHelper {
|
|
|
797
977
|
let lastError = null;
|
|
798
978
|
for (let attempt = 0; attempt <= this.retryOptions.maxRetries; attempt++) {
|
|
799
979
|
try {
|
|
980
|
+
logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries + 1}`, this.namespace);
|
|
800
981
|
this.client = new mongodb_1.MongoClient(cleanUri);
|
|
801
982
|
await this.client.connect();
|
|
802
983
|
// Use the resolved database name
|
|
803
984
|
this.db = this.client.db(dbName);
|
|
804
985
|
this.isInitialized = true;
|
|
986
|
+
logger.info(`Successfully connected to MongoDB database: ${dbName}`, this.namespace);
|
|
805
987
|
return;
|
|
806
988
|
}
|
|
807
989
|
catch (error) {
|
|
808
990
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
809
991
|
this.client = null;
|
|
810
992
|
this.db = null;
|
|
993
|
+
logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`, this.namespace);
|
|
811
994
|
if (attempt < this.retryOptions.maxRetries) {
|
|
812
995
|
const delay = this.retryOptions.exponentialBackoff
|
|
813
996
|
? this.retryOptions.retryDelay * Math.pow(2, attempt)
|
|
814
997
|
: this.retryOptions.retryDelay;
|
|
998
|
+
logger.debug(`Retrying in ${delay}ms...`, this.namespace);
|
|
815
999
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
816
1000
|
}
|
|
817
1001
|
}
|
|
818
1002
|
}
|
|
819
|
-
|
|
1003
|
+
this.logError(`Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries + 1} attempts: ${lastError?.message}`);
|
|
820
1004
|
}
|
|
821
1005
|
/**
|
|
822
1006
|
* Loads data from a collection with optional query filter.
|
|
@@ -862,7 +1046,9 @@ class SimpleMongoHelper {
|
|
|
862
1046
|
return results;
|
|
863
1047
|
}
|
|
864
1048
|
catch (error) {
|
|
865
|
-
|
|
1049
|
+
const errorMsg = `Failed to load collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1050
|
+
this.logError(errorMsg);
|
|
1051
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
866
1052
|
}
|
|
867
1053
|
}
|
|
868
1054
|
/**
|
|
@@ -889,7 +1075,9 @@ class SimpleMongoHelper {
|
|
|
889
1075
|
return result;
|
|
890
1076
|
}
|
|
891
1077
|
catch (error) {
|
|
892
|
-
|
|
1078
|
+
const errorMsg = `Failed to find document in collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1079
|
+
this.logError(errorMsg);
|
|
1080
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
893
1081
|
}
|
|
894
1082
|
}
|
|
895
1083
|
/**
|
|
@@ -916,7 +1104,9 @@ class SimpleMongoHelper {
|
|
|
916
1104
|
}
|
|
917
1105
|
}
|
|
918
1106
|
catch (error) {
|
|
919
|
-
|
|
1107
|
+
const errorMsg = `Failed to insert into collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1108
|
+
this.logError(errorMsg);
|
|
1109
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
920
1110
|
}
|
|
921
1111
|
}
|
|
922
1112
|
/**
|
|
@@ -948,7 +1138,9 @@ class SimpleMongoHelper {
|
|
|
948
1138
|
}
|
|
949
1139
|
}
|
|
950
1140
|
catch (error) {
|
|
951
|
-
|
|
1141
|
+
const errorMsg = `Failed to update collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1142
|
+
this.logError(errorMsg);
|
|
1143
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
952
1144
|
}
|
|
953
1145
|
}
|
|
954
1146
|
/**
|
|
@@ -974,7 +1166,9 @@ class SimpleMongoHelper {
|
|
|
974
1166
|
}
|
|
975
1167
|
}
|
|
976
1168
|
catch (error) {
|
|
977
|
-
|
|
1169
|
+
const errorMsg = `Failed to delete from collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1170
|
+
this.logError(errorMsg);
|
|
1171
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
978
1172
|
}
|
|
979
1173
|
}
|
|
980
1174
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simpleMongoHelper.js","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"simpleMongoHelper.js","sourceRoot":"","sources":["../src/simpleMongoHelper.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nx-mongo",
|
|
3
|
-
"version": "3.8.
|
|
3
|
+
"version": "3.8.4",
|
|
4
4
|
"description": "A lightweight, feature-rich MongoDB helper library for Node.js and TypeScript with pagination, transactions, aggregation, and more",
|
|
5
5
|
"main": "dist/simpleMongoHelper.js",
|
|
6
6
|
"types": "dist/simpleMongoHelper.d.ts",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"mongodb": "^6.3.0",
|
|
34
|
-
"nx-config2": "^3.0.
|
|
34
|
+
"nx-config2": "^3.0.2"
|
|
35
35
|
},
|
|
36
36
|
"devDependencies": {
|
|
37
37
|
"@types/node": "^20.10.0",
|
package/src/simpleMongoHelper.ts
CHANGED
|
@@ -1,5 +1,182 @@
|
|
|
1
1
|
import { MongoClient, Db, Collection, Filter, UpdateFilter, OptionalUnlessRequiredId, Document, WithId, ClientSession, Sort, IndexSpecification, CreateIndexesOptions } from 'mongodb';
|
|
2
2
|
import { createHash } from 'crypto';
|
|
3
|
+
import { getEnvVariables, autoLoadConfig } from 'nx-config2';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Log levels ordered from lowest to highest severity
|
|
7
|
+
*/
|
|
8
|
+
type LogLevel = 'verbose' | 'debug' | 'info' | 'warn' | 'error';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Log level numeric values for comparison (lower = more verbose)
|
|
12
|
+
*/
|
|
13
|
+
const LOG_LEVEL_VALUES: Record<LogLevel, number> = {
|
|
14
|
+
verbose: 0,
|
|
15
|
+
debug: 1,
|
|
16
|
+
info: 2,
|
|
17
|
+
warn: 3,
|
|
18
|
+
error: 4,
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Console logger with environment-based level control
|
|
23
|
+
*/
|
|
24
|
+
class ConsoleLogger {
|
|
25
|
+
private globalMinLevel: LogLevel;
|
|
26
|
+
private debugNamespaces: Set<string> = new Set();
|
|
27
|
+
private debugPatterns: string[] = [];
|
|
28
|
+
|
|
29
|
+
constructor() {
|
|
30
|
+
// Auto-load config from .env files
|
|
31
|
+
autoLoadConfig();
|
|
32
|
+
|
|
33
|
+
// Get ENV_PREFIX from environment or use default
|
|
34
|
+
const envPrefix = process.env.ENV_PREFIX || '';
|
|
35
|
+
|
|
36
|
+
// Read LOGS_LEVEL from environment
|
|
37
|
+
// Priority: {ENV_PREFIX}_LOG_LEVEL > LOGS_LEVEL > default 'info'
|
|
38
|
+
const logLevelEnv = (envPrefix ? process.env[`${envPrefix}_LOG_LEVEL`] : null) ||
|
|
39
|
+
process.env.LOGS_LEVEL ||
|
|
40
|
+
'info';
|
|
41
|
+
|
|
42
|
+
// Validate and set global minimum level
|
|
43
|
+
if (this.isValidLogLevel(logLevelEnv)) {
|
|
44
|
+
this.globalMinLevel = logLevelEnv as LogLevel;
|
|
45
|
+
} else {
|
|
46
|
+
this.globalMinLevel = 'info';
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Parse DEBUG environment variable for namespace matching
|
|
50
|
+
const debugEnv = process.env.DEBUG || '';
|
|
51
|
+
if (debugEnv) {
|
|
52
|
+
const patterns = debugEnv.split(',').map(p => p.trim());
|
|
53
|
+
for (const pattern of patterns) {
|
|
54
|
+
if (pattern === '*') {
|
|
55
|
+
// Wildcard matches everything
|
|
56
|
+
this.debugPatterns.push('*');
|
|
57
|
+
} else {
|
|
58
|
+
// Store pattern for matching
|
|
59
|
+
this.debugPatterns.push(pattern);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Checks if a string is a valid log level
|
|
67
|
+
*/
|
|
68
|
+
private isValidLogLevel(level: string): level is LogLevel {
|
|
69
|
+
return ['verbose', 'debug', 'info', 'warn', 'error'].includes(level);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Checks if a namespace matches any DEBUG pattern
|
|
74
|
+
*/
|
|
75
|
+
private matchesDebugPattern(namespace: string): boolean {
|
|
76
|
+
if (this.debugPatterns.length === 0) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
for (const pattern of this.debugPatterns) {
|
|
81
|
+
if (pattern === '*') {
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Simple wildcard matching: "my-pkg*" matches "my-pkg", "my-pkg:sub", etc.
|
|
86
|
+
if (pattern.endsWith('*')) {
|
|
87
|
+
const prefix = pattern.slice(0, -1);
|
|
88
|
+
if (namespace.startsWith(prefix)) {
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
} else if (pattern === namespace) {
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Determines if a log entry should be printed to console
|
|
101
|
+
*/
|
|
102
|
+
private shouldPrint(level: LogLevel, namespace?: string): boolean {
|
|
103
|
+
const levelValue = LOG_LEVEL_VALUES[level];
|
|
104
|
+
const minLevelValue = LOG_LEVEL_VALUES[this.globalMinLevel];
|
|
105
|
+
|
|
106
|
+
// Rule 1: Print if level >= global minimum level
|
|
107
|
+
if (levelValue >= minLevelValue) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
// Rule 2: Print verbose/debug if namespace matches DEBUG pattern
|
|
112
|
+
if ((level === 'verbose' || level === 'debug') && namespace) {
|
|
113
|
+
if (this.matchesDebugPattern(namespace)) {
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
return false;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Logs a message to console
|
|
123
|
+
*/
|
|
124
|
+
log(level: LogLevel, message: string, namespace?: string, throwError: boolean = false): void {
|
|
125
|
+
if (!this.shouldPrint(level, namespace)) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Format message with namespace if provided
|
|
130
|
+
const formattedMessage = namespace ? `[${namespace}] ${message}` : message;
|
|
131
|
+
|
|
132
|
+
// Use appropriate console method
|
|
133
|
+
switch (level) {
|
|
134
|
+
case 'verbose':
|
|
135
|
+
case 'debug':
|
|
136
|
+
console.debug(formattedMessage);
|
|
137
|
+
break;
|
|
138
|
+
case 'info':
|
|
139
|
+
console.info(formattedMessage);
|
|
140
|
+
break;
|
|
141
|
+
case 'warn':
|
|
142
|
+
console.warn(formattedMessage);
|
|
143
|
+
break;
|
|
144
|
+
case 'error':
|
|
145
|
+
console.error(formattedMessage);
|
|
146
|
+
// Errors throw by default unless explicitly disabled
|
|
147
|
+
if (throwError !== false) {
|
|
148
|
+
throw new Error(formattedMessage);
|
|
149
|
+
}
|
|
150
|
+
break;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Convenience methods for each log level
|
|
156
|
+
*/
|
|
157
|
+
verbose(message: string, namespace?: string): void {
|
|
158
|
+
this.log('verbose', message, namespace, false);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
debug(message: string, namespace?: string): void {
|
|
162
|
+
this.log('debug', message, namespace, false);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
info(message: string, namespace?: string): void {
|
|
166
|
+
this.log('info', message, namespace, false);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
warn(message: string, namespace?: string): void {
|
|
170
|
+
this.log('warn', message, namespace, false);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
error(message: string, namespace?: string, throwError: boolean = true): void {
|
|
174
|
+
this.log('error', message, namespace, throwError);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
// Singleton logger instance
|
|
179
|
+
const logger = new ConsoleLogger();
|
|
3
180
|
|
|
4
181
|
export interface PaginationOptions {
|
|
5
182
|
page?: number;
|
|
@@ -739,6 +916,7 @@ export class SimpleMongoHelper {
|
|
|
739
916
|
public readonly progress: ProgressAPI;
|
|
740
917
|
private cleanupRegistered: boolean = false;
|
|
741
918
|
private isDisconnecting: boolean = false;
|
|
919
|
+
private namespace: string = 'nx-mongo';
|
|
742
920
|
|
|
743
921
|
constructor(connectionString: string, retryOptions?: RetryOptions, config?: HelperConfig) {
|
|
744
922
|
// Store original connection string for database name extraction
|
|
@@ -764,9 +942,43 @@ export class SimpleMongoHelper {
|
|
|
764
942
|
*/
|
|
765
943
|
useConfig(config: HelperConfig): this {
|
|
766
944
|
this.config = config;
|
|
945
|
+
logger.debug('Configuration updated', this.namespace);
|
|
946
|
+
return this;
|
|
947
|
+
}
|
|
948
|
+
|
|
949
|
+
/**
|
|
950
|
+
* Sets the logging namespace for this instance
|
|
951
|
+
* @param namespace - Namespace string for logging
|
|
952
|
+
* @returns This instance for method chaining
|
|
953
|
+
*/
|
|
954
|
+
setNamespace(namespace: string): this {
|
|
955
|
+
this.namespace = namespace;
|
|
767
956
|
return this;
|
|
768
957
|
}
|
|
769
958
|
|
|
959
|
+
/**
|
|
960
|
+
* Logging methods - delegates to console logger
|
|
961
|
+
*/
|
|
962
|
+
logVerbose(message: string): void {
|
|
963
|
+
logger.verbose(message, this.namespace);
|
|
964
|
+
}
|
|
965
|
+
|
|
966
|
+
logDebug(message: string): void {
|
|
967
|
+
logger.debug(message, this.namespace);
|
|
968
|
+
}
|
|
969
|
+
|
|
970
|
+
logInfo(message: string): void {
|
|
971
|
+
logger.info(message, this.namespace);
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
logWarn(message: string): void {
|
|
975
|
+
logger.warn(message, this.namespace);
|
|
976
|
+
}
|
|
977
|
+
|
|
978
|
+
logError(message: string, throwError: boolean = true): void {
|
|
979
|
+
logger.error(message, this.namespace, throwError);
|
|
980
|
+
}
|
|
981
|
+
|
|
770
982
|
/**
|
|
771
983
|
* Tests the MongoDB connection and returns detailed error information if it fails.
|
|
772
984
|
* This method does not establish a persistent connection - use initialize() for that.
|
|
@@ -1028,9 +1240,11 @@ export class SimpleMongoHelper {
|
|
|
1028
1240
|
*/
|
|
1029
1241
|
async initialize(options?: { connectionString?: string; databaseName?: string }): Promise<void> {
|
|
1030
1242
|
if (this.isInitialized) {
|
|
1031
|
-
|
|
1243
|
+
this.logError('SimpleMongoHelper is already initialized');
|
|
1032
1244
|
}
|
|
1033
1245
|
|
|
1246
|
+
logger.debug('Initializing MongoDB connection', this.namespace);
|
|
1247
|
+
|
|
1034
1248
|
// Use provided connection string or original (not stripped) connection string
|
|
1035
1249
|
const connectionString = options?.connectionString || this.originalConnectionString;
|
|
1036
1250
|
|
|
@@ -1046,13 +1260,15 @@ export class SimpleMongoHelper {
|
|
|
1046
1260
|
|
|
1047
1261
|
// ✅ Validate database name
|
|
1048
1262
|
if (dbName && !isValidDatabaseName(dbName)) {
|
|
1049
|
-
|
|
1263
|
+
this.logError(`Invalid database name: '${dbName}'. Database names cannot contain: / ? & =`);
|
|
1050
1264
|
}
|
|
1051
1265
|
|
|
1052
1266
|
if (!dbName) {
|
|
1053
|
-
|
|
1267
|
+
this.logError('Database name is required. Provide databaseName parameter or include it in connection string path.');
|
|
1054
1268
|
}
|
|
1055
1269
|
|
|
1270
|
+
logger.debug(`Using database: ${dbName}`, this.namespace);
|
|
1271
|
+
|
|
1056
1272
|
// ✅ Clean connection string if databaseName was provided separately
|
|
1057
1273
|
// (to avoid using database name from URI path when we have explicit databaseName)
|
|
1058
1274
|
const cleanUri = dbNameProvided ?
|
|
@@ -1062,27 +1278,32 @@ export class SimpleMongoHelper {
|
|
|
1062
1278
|
let lastError: Error | null = null;
|
|
1063
1279
|
for (let attempt = 0; attempt <= this.retryOptions.maxRetries!; attempt++) {
|
|
1064
1280
|
try {
|
|
1281
|
+
logger.verbose(`Connection attempt ${attempt + 1}/${this.retryOptions.maxRetries! + 1}`, this.namespace);
|
|
1065
1282
|
this.client = new MongoClient(cleanUri);
|
|
1066
1283
|
await this.client.connect();
|
|
1067
1284
|
// Use the resolved database name
|
|
1068
1285
|
this.db = this.client.db(dbName);
|
|
1069
1286
|
this.isInitialized = true;
|
|
1287
|
+
logger.info(`Successfully connected to MongoDB database: ${dbName}`, this.namespace);
|
|
1070
1288
|
return;
|
|
1071
1289
|
} catch (error) {
|
|
1072
1290
|
lastError = error instanceof Error ? error : new Error(String(error));
|
|
1073
1291
|
this.client = null;
|
|
1074
1292
|
this.db = null;
|
|
1075
1293
|
|
|
1294
|
+
logger.warn(`Connection attempt ${attempt + 1} failed: ${lastError.message}`, this.namespace);
|
|
1295
|
+
|
|
1076
1296
|
if (attempt < this.retryOptions.maxRetries!) {
|
|
1077
1297
|
const delay = this.retryOptions.exponentialBackoff
|
|
1078
1298
|
? this.retryOptions.retryDelay! * Math.pow(2, attempt)
|
|
1079
1299
|
: this.retryOptions.retryDelay!;
|
|
1300
|
+
logger.debug(`Retrying in ${delay}ms...`, this.namespace);
|
|
1080
1301
|
await new Promise(resolve => setTimeout(resolve, delay));
|
|
1081
1302
|
}
|
|
1082
1303
|
}
|
|
1083
1304
|
}
|
|
1084
1305
|
|
|
1085
|
-
|
|
1306
|
+
this.logError(`Failed to initialize MongoDB connection after ${this.retryOptions.maxRetries! + 1} attempts: ${lastError?.message}`);
|
|
1086
1307
|
}
|
|
1087
1308
|
|
|
1088
1309
|
/**
|
|
@@ -1142,7 +1363,9 @@ export class SimpleMongoHelper {
|
|
|
1142
1363
|
const results = await cursor.toArray();
|
|
1143
1364
|
return results;
|
|
1144
1365
|
} catch (error) {
|
|
1145
|
-
|
|
1366
|
+
const errorMsg = `Failed to load collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1367
|
+
this.logError(errorMsg);
|
|
1368
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
1146
1369
|
}
|
|
1147
1370
|
}
|
|
1148
1371
|
|
|
@@ -1179,7 +1402,9 @@ export class SimpleMongoHelper {
|
|
|
1179
1402
|
const result = await collection.findOne(query, findOptions);
|
|
1180
1403
|
return result;
|
|
1181
1404
|
} catch (error) {
|
|
1182
|
-
|
|
1405
|
+
const errorMsg = `Failed to find document in collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1406
|
+
this.logError(errorMsg);
|
|
1407
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
1183
1408
|
}
|
|
1184
1409
|
}
|
|
1185
1410
|
|
|
@@ -1214,7 +1439,9 @@ export class SimpleMongoHelper {
|
|
|
1214
1439
|
return result;
|
|
1215
1440
|
}
|
|
1216
1441
|
} catch (error) {
|
|
1217
|
-
|
|
1442
|
+
const errorMsg = `Failed to insert into collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1443
|
+
this.logError(errorMsg);
|
|
1444
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
1218
1445
|
}
|
|
1219
1446
|
}
|
|
1220
1447
|
|
|
@@ -1253,7 +1480,9 @@ export class SimpleMongoHelper {
|
|
|
1253
1480
|
return result;
|
|
1254
1481
|
}
|
|
1255
1482
|
} catch (error) {
|
|
1256
|
-
|
|
1483
|
+
const errorMsg = `Failed to update collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1484
|
+
this.logError(errorMsg);
|
|
1485
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
1257
1486
|
}
|
|
1258
1487
|
}
|
|
1259
1488
|
|
|
@@ -1287,7 +1516,9 @@ export class SimpleMongoHelper {
|
|
|
1287
1516
|
return result;
|
|
1288
1517
|
}
|
|
1289
1518
|
} catch (error) {
|
|
1290
|
-
|
|
1519
|
+
const errorMsg = `Failed to delete from collection '${collectionName}': ${error instanceof Error ? error.message : String(error)}`;
|
|
1520
|
+
this.logError(errorMsg);
|
|
1521
|
+
throw new Error(errorMsg); // TypeScript control flow
|
|
1291
1522
|
}
|
|
1292
1523
|
}
|
|
1293
1524
|
|