diff --git a/packages/query-parser/src/stringify.ts b/packages/query-parser/src/stringify.ts index 30a9ee50..e2240625 100644 --- a/packages/query-parser/src/stringify.ts +++ b/packages/query-parser/src/stringify.ts @@ -112,7 +112,7 @@ const BSON_TO_JS_STRING = { ISODate: function (v: Date) { try { return `ISODate('${v.toISOString()}')`; - } catch (ex) { + } catch { return `ISODate('${v.toString()}')`; } }, diff --git a/packages/shell-bson-parser/src/check.ts b/packages/shell-bson-parser/src/check.ts index 26fb2c18..b754c48d 100644 --- a/packages/shell-bson-parser/src/check.ts +++ b/packages/shell-bson-parser/src/check.ts @@ -18,32 +18,30 @@ class Checker { node.arguments.every(this.checkSafeExpression) ); } - if (allowMethods) { - if (node.callee.type === 'MemberExpression') { - const object = node.callee.object; - const property = node.callee.property as Identifier; - // If we're only referring to identifiers, we don't need to check deeply. - if (object.type === 'Identifier' && property.type === 'Identifier') { - return ( - isMethodWhitelisted(object.name, property.name) && - node.arguments.every(this.checkSafeExpression) - ); - } else if ( - (object.type === 'NewExpression' || - object.type === 'CallExpression') && - object.callee.type === 'Identifier' - ) { - const callee = object.callee; - return ( - isMethodWhitelisted(callee.name, property.name) && - node.arguments.every(this.checkSafeExpression) - ); - } else { - return ( - this.checkSafeExpression(object) && - node.arguments.every(this.checkSafeExpression) - ); - } + if (allowMethods && node.callee.type === 'MemberExpression') { + const object = node.callee.object; + const property = node.callee.property as Identifier; + // If we're only referring to identifiers, we don't need to check deeply. + if (object.type === 'Identifier' && property.type === 'Identifier') { + return ( + isMethodWhitelisted(object.name, property.name) && + node.arguments.every(this.checkSafeExpression) + ); + } else if ( + (object.type === 'NewExpression' || + object.type === 'CallExpression') && + object.callee.type === 'Identifier' + ) { + const callee = object.callee; + return ( + isMethodWhitelisted(callee.name, property.name) && + node.arguments.every(this.checkSafeExpression) + ); + } else { + return ( + this.checkSafeExpression(object) && + node.arguments.every(this.checkSafeExpression) + ); } } return false; @@ -106,11 +104,13 @@ class Checker { } export const checkTree = (node: Node, options: Options) => { - if (node.type === 'Program') { - if (node.body.length === 1 && node.body[0].type === 'ExpressionStatement') { - const checker = new Checker(options); - return checker.checkSafeExpression(node.body[0].expression); - } + if ( + node.type === 'Program' && + node.body.length === 1 && + node.body[0].type === 'ExpressionStatement' + ) { + const checker = new Checker(options); + return checker.checkSafeExpression(node.body[0].expression); } return false; }; diff --git a/packages/shell-bson-parser/src/eval.ts b/packages/shell-bson-parser/src/eval.ts index 51097a8f..1f962553 100644 --- a/packages/shell-bson-parser/src/eval.ts +++ b/packages/shell-bson-parser/src/eval.ts @@ -158,10 +158,12 @@ const walk = (node: Node | null): any => { }; export const executeAST = (node: Node) => { - if (node.type === 'Program') { - if (node.body.length === 1 && node.body[0].type === 'ExpressionStatement') { - return walk(node.body[0].expression); - } + if ( + node.type === 'Program' && + node.body.length === 1 && + node.body[0].type === 'ExpressionStatement' + ) { + return walk(node.body[0].expression); } throw new Error('Invalid AST Found'); };