querymongo 1.4.2 → 1.4.3

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/CHANGELOG.md CHANGED
@@ -1,6 +1,6 @@
1
- ## [1.4.2](https://github.com/rubsuadav/querymongo/compare/v1.4.1...v1.4.2) (2026-09-21)
1
+ ## [1.4.3](https://github.com/rubsuadav/querymongo/compare/v1.4.2...v1.4.3) (2026-09-21)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * update declarationDir in tsconfig.json to point directly to ./dist ([c315b8c](https://github.com/rubsuadav/querymongo/commit/c315b8cff2227698f5d8deff91a9ea1846003a11))
6
+ * improve error handling and validation in MongoConverter ([7417bd9](https://github.com/rubsuadav/querymongo/commit/7417bd9b141b5f97801347d0780523b6ecd22a3e))
@@ -1 +1 @@
1
- {"version":3,"file":"MongoConverter.d.ts","sourceRoot":"","sources":["../../src/application/MongoConverter.ts"],"names":[],"mappings":"AAUA,cAAM,cAAc;IAClB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAcxC;CACF;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
1
+ {"version":3,"file":"MongoConverter.d.ts","sourceRoot":"","sources":["../../src/application/MongoConverter.ts"],"names":[],"mappings":"AAUA,cAAM,cAAc;IAClB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CA2BxC;CACF;AAED,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -6,14 +6,23 @@ import { parseSqlQuery, normalizeQuery, } from "../infrastructure/parser/sqlPars
6
6
  import { getConverter } from "../infrastructure/converters/ConverterFactory.js";
7
7
  class MongoConverter {
8
8
  convert(sql) {
9
- const normalized = normalizeQuery(sql);
10
- const parsed = parseSqlQuery(normalized);
11
- const statement = Array.isArray(parsed) ? parsed[0] : parsed;
12
- const converter = getConverter(normalized);
13
- if (!converter) {
14
- throw new Error(`Unsupported SQL statement: ${normalized.substring(0, 50)}...`);
9
+ try {
10
+ if (!sql || typeof sql !== "string")
11
+ throw new Error("SQL query must be a non-empty string");
12
+ const normalized = normalizeQuery(sql);
13
+ const parsed = parseSqlQuery(normalized);
14
+ const statement = Array.isArray(parsed) ? parsed[0] : parsed;
15
+ if (!statement)
16
+ throw new Error("Could not parse SQL statement. Check your query syntax.");
17
+ const converter = getConverter(normalized);
18
+ if (!converter) {
19
+ throw new Error(`Unsupported SQL statement: ${normalized.substring(0, 50)}...`);
20
+ }
21
+ return converter.convert(statement);
22
+ }
23
+ catch (error) {
24
+ throw new Error(error instanceof Error ? error.message : String(error));
15
25
  }
16
- return converter.convert(statement);
17
26
  }
18
27
  }
19
28
  export const mongoConverter = new MongoConverter();
@@ -1 +1 @@
1
- {"version":3,"file":"MongoConverter.js","sourceRoot":"","sources":["../../src/application/MongoConverter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,MAAM,cAAc;IAClB,OAAO,CAAC,GAAW;QACjB,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;QAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,8BAA8B,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAC/D,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"MongoConverter.js","sourceRoot":"","sources":["../../src/application/MongoConverter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,aAAa,EACb,cAAc,GACf,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kDAAkD,CAAC;AAEhF,MAAM,cAAc;IAClB,OAAO,CAAC,GAAW;QACjB,IAAI,CAAC;YACH,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;gBACjC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;YAE1D,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,MAAM,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAEzC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAE7D,IAAI,CAAC,SAAS;gBACZ,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;YAEJ,MAAM,SAAS,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;YAE3C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CACb,8BAA8B,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAC/D,CAAC;YACJ,CAAC;YAED,OAAO,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "querymongo",
3
3
  "type": "module",
4
- "version": "1.4.2",
4
+ "version": "1.4.3",
5
5
  "description": "SQL to MongoDB Query Converter CLI",
6
6
  "main": "dist/index.js",
7
7
  "bin": "dist/cli/main.js",