qwebs-mongo
Advanced tools
Comparing version 1.0.0-beta.38 to 1.0.0-beta.39
@@ -36,5 +36,6 @@ /*! | ||
querystring = this.cancelNullable(querystring); | ||
querystring = this.formatLogicalOperators(querystring); | ||
querystring = this.formatCommaOperators(querystring); | ||
const query = qs.parse(querystring); | ||
@@ -45,2 +46,9 @@ const { skip, limit, sort, project, ...filter } = this.json.typed(query); | ||
cancelNullable(str) { | ||
str = str.replace(/([^&=><!]+)[=><!]=?(&|$)/g, `$2`); //empty regexp ex field=, field>, field<, field>=, field<=, field!= | ||
str = str.replace(/([^&=]+)=\/\^?\$?\/([ig]*)(&|$)/g, `$3`); //empty regexp field=//, ..., field=//ig, field=/^/, field=/$/, ... | ||
return str; | ||
} | ||
formatComparisonOperators(str) { | ||
@@ -53,5 +61,6 @@ str = str.replace(/(=?!)(?!=)/g, '[$not]='); //special | ||
str = str.replace(/=?</g, '[$lt]='); | ||
//regexp with options | ||
str = str.replace(/([^&|]+)=\/([^&|]+)\/(\w*)/g, `$1[$regex]=$2&$1[$options]=$3`); | ||
str = str.replace(/([^&=]+)=\/([^&=]+)\/([ig]*)(&|$)/g, `$1[$regex]=$2&$1[$options]=$3$4`); | ||
//str = str.replace(/([^&|]+)=\/([^&|]+)\/(\w*)[$|&]/g, `$1[$regex]=$2&$1[$options]=$3`); | ||
@@ -58,0 +67,0 @@ return str; |
{ | ||
"name": "qwebs-mongo", | ||
"version": "1.0.0-beta.38", | ||
"version": "1.0.0-beta.39", | ||
"description": "Mongo client for your Qwebs server", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
40628
15
843