diff --git a/build/common.js b/build/common.js index a8692ce..4f3869c 100644 --- a/build/common.js +++ b/build/common.js @@ -1 +1 @@ -"use strict";(self.webpackChunkchaoticbackup=self.webpackChunkchaoticbackup||[]).push([[592],{8660:(e,i,r)=>{r.d(i,{Z:()=>g});var n=r(3050),t=r.n(n),s=r(2196);function a(e,i){if(void 0===i&&(i=!0),e=e.replace(/\‘|\’/g,"'"),!0===i){if(/[\^$+*\[\]|]/g.test(e))try{return new RegExp(e,"i")}catch(e){}}return e=e.replace(/[\^$+*\[\]\\]/g,"").replace(/[\(\)]/g,(function(e){return console.log(e),"\\"+e})),new RegExp(e,"i")}function g(e){var i,r,n,g,$=new(t())("filter.db").addCollection("filter"),o=$.addDynamicView("filter");o.applySimpleSort("gsx$name");var f,l=s.Z.cards.attacks.chain(),x=s.Z.cards.battlegear.chain(),c=s.Z.cards.creatures.chain(),d=s.Z.cards.locations.chain(),u=s.Z.cards.mugic.chain();if(l=l.where((function(e){return""!=e.gsx$set})),x=x.where((function(e){return""!=e.gsx$set})),c=c.where((function(e){return""!=e.gsx$set})),d=d.where((function(e){return""!=e.gsx$set})),u=u.where((function(e){return""!=e.gsx$set})),e.name.length>0){var m=[],p=e.name.replace(/(?:~)([\w,()]+)/g,(function(e,i){return m.push(i),""}));if(p.length>0&&(p=a(p),l=l.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),x=x.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),c=c.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),d=d.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),u=u.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]})),m.length>0){var h=function(e){var i=!1;return m.forEach((function(r){i|=e.gsx$name.toLowerCase().indexOf(r.toLowerCase().replace("_"," "))>-1})),!i};l=l.where(h),x=x.where(h),c=c.where(h),d=d.where(h),u=u.where(h)}}if(e.text.length>0){var w=[],y=e.text.replace(/(?:~)(\w+)/g,(function(e,i){return w.push(i),""}));if(y.length>0){y=a(y);var b=(f=[{gsx$tags:{$regex:y}},{gsx$ability:{$regex:y}}],e.flavor&&(f.push({gsx$flavortext:{$regex:y}}),f.push({gsx$artist:{$regex:y}})),f);l=l.find({$or:b}),x=x.find({$or:b}),c=c.find({$or:b.concat([{gsx$brainwashed:{$regex:y}}])}),d=d.find({$or:b}),u=u.find({$or:b})}if(w.length>0){var v=function(e,i){void 0===i&&(i=!1);var r=!1;return w.forEach((function(n){r|=e.gsx$ability.toLowerCase().indexOf(n.toLowerCase())>-1,r|=e.gsx$flavortext.toLowerCase().indexOf(n.toLowerCase())>-1,i&&(r|=e.gsx$brainwashed.toLowerCase().indexOf(n.toLowerCase())>-1)})),!r};l=l.where(v),x=x.where(v),c=c.where((function(e){return v(e,!0)})),d=d.where(v),u=u.where(v)}}if(e.subtypes.length>0){var k=e.subtypes.split(",").filter(Boolean).map((function(e){return{$regex:a(e,!1)}}));c=c.find({gsx$types:{$or:k}}),d=d.find({$or:[{gsx$initiative:{$or:k}},{gsx$types:{$or:k}}]}),l=l.limit(0),x=x.find({gsx$types:{$or:k}}),u=u.limit(0)}var C=[];for(var E in e.tribes)e.tribes[E]&&C.push({$regex:new RegExp(E,"i")});if(C.length>0&&(c=c.find({gsx$tribe:{$or:C}}),u=u.find({gsx$tribe:{$or:C}}),l=l.limit(0),x=x.limit(0),d=d.limit(0)),e.elements.none){if(e.elements.and){l=l.where((function(i){return e.elements.fire?""!=i.gsx$fire:""==i.gsx$fire})).where((function(i){return e.elements.air?""!=i.gsx$air:""==i.gsx$air})).where((function(i){return e.elements.earth?""!=i.gsx$earth:""==i.gsx$earth})).where((function(i){return e.elements.water?""!=i.gsx$water:""==i.gsx$water}));var q="";["fire","air","earth","water"].forEach((function(i){e.elements[i]&&(q+=i+", ")})),""!==q&&(c=c.find({gsx$elements:{$regex:new RegExp("^"+q.substring(0,q.length-2)+"s*$","i")}}))}else{var L=e.elements,O=L.fire,Z=L.air,R=L.earth,U=L.water;O||Z||R||U?(e.elements.fire&&(l=l.where((function(e){return""==e.gsx$fire}))),e.elements.air&&(l=l.where((function(e){return""==e.gsx$air}))),e.elements.earth&&(l=l.where((function(e){return""==e.gsx$earth}))),e.elements.water&&(l=l.where((function(e){return""==e.gsx$water}))),c=c.where((function(e){return""==e.gsx$elements}))):(l=l.where((function(e){return""==e.gsx$fire})).where((function(e){return""==e.gsx$air})).where((function(e){return""==e.gsx$earth})).where((function(e){return""==e.gsx$water})),c=c.where((function(e){return""==e.gsx$elements})))}x=x.limit(0),d=d.limit(0),u=u.limit(0)}else{var j=[],S=[];for(var A in e.elements){var B;if("none"!==A&&"and"!==A)if(e.elements[A])j.push({$regex:new RegExp(A,"i")}),S.push(((B={})["gsx$"+A]={$gte:0},B))}j.length>0&&(e.elements.and?(c=c.find({gsx$elements:{$and:j}}),l=l.find({$and:S})):(c=c.find({gsx$elements:{$or:j}}),l=l.find({$or:S})),x=x.limit(0),d=d.limit(0),u=u.limit(0))}var D=e.disciplines.max&&e.disciplines.max?"$lte":"$gte";e.disciplines.courage>0&&(c=c.find({gsx$courage:(i={},i[D]=e.disciplines.courage,i)})),e.disciplines.power>0&&(c=c.find({gsx$power:(r={},r[D]=e.disciplines.power,r)})),e.disciplines.wisdom>0&&(c=c.find({gsx$wisdom:(n={},n[D]=e.disciplines.wisdom,n)})),e.disciplines.speed>0&&(c=c.find({gsx$speed:(g={},g[D]=e.disciplines.speed,g)})),e.energy.min>0&&(c=c.find({gsx$energy:{$gte:e.energy.min}})),e.energy.max>0&&e.energy.max>=e.energy.min&&(c=c.find({gsx$energy:{$lte:e.energy.max}})),(e.energy.min>0||e.energy.max>0||e.disciplines.courage>0||e.disciplines.power>0||e.disciplines.wisdom>0||e.disciplines.speed>0)&&(l=l.limit(0),x=x.limit(0),d=d.limit(0),u=u.limit(0)),""!==e.mcbp.min&&e.mcbp.min>=0&&(l=l.find({gsx$bp:{$gte:e.mcbp.min}}),c=c.find({gsx$mugicability:{$gte:e.mcbp.min}}),u=u.find({gsx$cost:{$gte:e.mcbp.min}})),""!==e.mcbp.max&&e.mcbp.max>=0&&e.mcbp.max>=e.mcbp.min&&(l=l.find({gsx$bp:{$lte:e.mcbp.max}}),c=c.find({gsx$mugicability:{$lte:e.mcbp.max}}),u=u.find({gsx$cost:{$lte:e.mcbp.max}})),(e.mcbp.max>0||e.mcbp.min>0)&&(x=x.limit(0),d=d.limit(0)),e.mull.unique&&(l=l.find({gsx$unique:{$gt:0}}),x=x.find({gsx$unique:{$gt:0}}),c=c.find({gsx$unique:{$gt:0}}),d=d.find({gsx$unique:{$gt:0}}),u=u.find({gsx$unique:{$gt:0}})),e.mull.loyal&&(l=l.limit(0),x=x.find({gsx$loyal:{$gt:0}}),c=c.find({gsx$loyal:{$gt:0}}),u=u.limit(0),d=d.limit(0)),e.mull.legendary&&(l=l.find({gsx$legendary:{$gt:0}}),x=x.find({gsx$legendary:{$gt:0}}),c=c.find({gsx$legendary:{$gt:0}}),d=d.find({gsx$legendary:{$gt:0}}),u=u.find({gsx$legendary:{$gt:0}})),e.mull.mixed&&(c=c.find({gsx$loyal:{$lte:0}}),x=x.find({gsx$loyal:{$lte:0}}));var V=[];for(var _ in e.sets)e.sets[_]&&V.push({$eq:_.toUpperCase()});if(0===V.length){var z=Object.keys(e.sets);for(var F in e.sets.proto||z.splice(z.indexOf("proto")),z)V.push({$eq:z[F].toUpperCase()})}V.length>0&&(l=l.find({gsx$set:{$or:V}}),x=x.find({gsx$set:{$or:V}}),c=c.find({gsx$set:{$or:V}}),d=d.find({gsx$set:{$or:V}}),u=u.find({gsx$set:{$or:V}}));var G=[];for(var H in e.rarity)e.rarity[H]&&G.push({$eq:H.split(" ").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")});G.length>0&&(l=l.find({gsx$rarity:{$or:G}}),x=x.find({gsx$rarity:{$or:G}}),c=c.find({gsx$rarity:{$or:G}}),d=d.find({gsx$rarity:{$or:G}}),u=u.find({gsx$rarity:{$or:G}}));var I=!(e.types.attack|e.types.battlegear|e.types.creature|e.types.location|e.types.mugic);if(I||e.types.attack){var J=l.data();J.forEach((function(e){delete e.$loki})),$.insert(J)}if(I||e.types.battlegear){var K=x.data();K.forEach((function(e){delete e.$loki})),$.insert(K)}if(I||e.types.creature){var M=c.data();M.forEach((function(e){delete e.$loki})),$.insert(M)}if(I||e.types.location){var N=d.data();N.forEach((function(e){delete e.$loki})),$.insert(N)}if(I||e.types.mugic){var P=u.data();P.forEach((function(e){delete e.$loki})),$.insert(P)}return o.data()}}}]); \ No newline at end of file +"use strict";(self.webpackChunkchaoticbackup=self.webpackChunkchaoticbackup||[]).push([[592],{8660:(e,i,r)=>{r.d(i,{Z:()=>g});var n=r(3050),t=r.n(n),s=r(2196);function a(e,i){if(void 0===i&&(i=!0),e=e.replace(/\‘|\’/g,"'"),!0===i){if(/[\^$+*\[\]|]/g.test(e))try{return new RegExp(e,"i")}catch(e){}}return e=e.replace(/[\^$+*\[\]\\]/g,"").replace(/[\(\)]/g,(function(e){return console.log(e),"\\"+e})),new RegExp(e,"i")}function g(e){var i,r,n,g,$=new(t())("filter.db").addCollection("filter"),o=$.addDynamicView("filter");o.applySimpleSort("gsx$name");var f,l=s.Z.cards.attacks.chain(),x=s.Z.cards.battlegear.chain(),c=s.Z.cards.creatures.chain(),d=s.Z.cards.locations.chain(),u=s.Z.cards.mugic.chain();if(l=l.where((function(e){return""!=e.gsx$set})),x=x.where((function(e){return""!=e.gsx$set})),c=c.where((function(e){return""!=e.gsx$set})),d=d.where((function(e){return""!=e.gsx$set})),u=u.where((function(e){return""!=e.gsx$set})),e.name.length>0){var m=[],p=e.name.replace(/(?:~)([\w,()]+)/g,(function(e,i){return m.push(i),""}));if(p.length>0&&(p=a(p),l=l.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),x=x.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),c=c.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),d=d.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]}),u=u.find({$or:[{gsx$name:{$regex:p}},{gsx$tags:{$regex:p}}]})),m.length>0){var h=function(e){var i=!1;return m.forEach((function(r){i|=e.gsx$name.toLowerCase().indexOf(r.toLowerCase().replace("_"," "))>-1})),!i};l=l.where(h),x=x.where(h),c=c.where(h),d=d.where(h),u=u.where(h)}}if(e.text.length>0){var w=[],y=e.text.replace(/(?:~)(\w+)/g,(function(e,i){return w.push(i),""}));if(y.length>0){y=a(y);var v=(f=[{gsx$tags:{$regex:y}},{gsx$ability:{$regex:y}}],e.flavor&&(f.push({gsx$flavortext:{$regex:y}}),f.push({gsx$artist:{$regex:y}})),f);l=l.find({$or:v}),x=x.find({$or:v}),c=c.find({$or:v.concat([{gsx$brainwashed:{$regex:y}}])}),d=d.find({$or:v}),u=u.find({$or:v})}if(w.length>0){var b=function(e,i){void 0===i&&(i=!1);var r=!1;return w.forEach((function(n){r|=e.gsx$ability.toLowerCase().indexOf(n.toLowerCase())>-1,r|=e.gsx$flavortext.toLowerCase().indexOf(n.toLowerCase())>-1,i&&(r|=e.gsx$brainwashed.toLowerCase().indexOf(n.toLowerCase())>-1)})),!r};l=l.where(b),x=x.where(b),c=c.where((function(e){return b(e,!0)})),d=d.where(b),u=u.where(b)}}if(e.subtypes.length>0){var k=e.subtypes.split(",").filter(Boolean).map((function(e){return{$regex:a(e,!1)}}));c=c.find({gsx$types:{$or:k}}),d=d.find({$or:[{gsx$initiative:{$or:k}},{gsx$types:{$or:k}}]}),l=l.limit(0),x=x.find({gsx$types:{$or:k}}),u=u.limit(0)}var C=[];for(var E in e.tribes)e.tribes[E]&&C.push({$regex:new RegExp(E,"i")});if(C.length>0&&(c=c.find({gsx$tribe:{$or:C}}),u=u.find({gsx$tribe:{$or:C}}),l=l.limit(0),x=x.limit(0),d=d.limit(0)),e.elements.none){var q=e.elements,L=q.fire,O=q.air,R=q.earth,Z=q.water;if(e.elements.and){l=l.where((function(e){return L?""!=e.gsx$fire:""==e.gsx$fire})).where((function(e){return O?""!=e.gsx$air:""==e.gsx$air})).where((function(e){return R?""!=e.gsx$earth:""==e.gsx$earth})).where((function(e){return Z?""!=e.gsx$water:""==e.gsx$water}));var U=["fire","air","earth","water"].reduce((function(i,r){return e.elements[r]?i+", "+r:i}),"");""!==U&&(c=c.find({gsx$elements:{$regex:new RegExp("^"+U+"s*$","i")}}))}else if(L||O||R||Z){L&&(l=l.where((function(e){return""==e.gsx$fire}))),O&&(l=l.where((function(e){return""==e.gsx$air}))),R&&(l=l.where((function(e){return""==e.gsx$earth}))),Z&&(l=l.where((function(e){return""==e.gsx$water})));var j=["fire","air","earth","water"].reduce((function(i,r){return i+(e.elements[r]?"(?!"+r+")":"")}),"");c=c.find({gsx$elements:{$regex:new RegExp("^("+j+".)*$","i")}})}else l=l.where((function(e){return""==e.gsx$fire})).where((function(e){return""==e.gsx$air})).where((function(e){return""==e.gsx$earth})).where((function(e){return""==e.gsx$water})),c=c.where((function(e){return""==e.gsx$elements}));x=x.limit(0),d=d.limit(0),u=u.limit(0)}else{var S=[],A=[];for(var B in e.elements){var D;if("none"!==B&&"and"!==B)if(e.elements[B])S.push({$regex:new RegExp(B,"i")}),A.push(((D={})["gsx$"+B]={$gte:0},D))}S.length>0&&(e.elements.and?(c=c.find({gsx$elements:{$and:S}}),l=l.find({$and:A})):(c=c.find({gsx$elements:{$or:S}}),l=l.find({$or:A})),x=x.limit(0),d=d.limit(0),u=u.limit(0))}var V=e.disciplines.max&&e.disciplines.max?"$lte":"$gte";e.disciplines.courage>0&&(c=c.find({gsx$courage:(i={},i[V]=e.disciplines.courage,i)})),e.disciplines.power>0&&(c=c.find({gsx$power:(r={},r[V]=e.disciplines.power,r)})),e.disciplines.wisdom>0&&(c=c.find({gsx$wisdom:(n={},n[V]=e.disciplines.wisdom,n)})),e.disciplines.speed>0&&(c=c.find({gsx$speed:(g={},g[V]=e.disciplines.speed,g)})),e.energy.min>0&&(c=c.find({gsx$energy:{$gte:e.energy.min}})),e.energy.max>0&&e.energy.max>=e.energy.min&&(c=c.find({gsx$energy:{$lte:e.energy.max}})),(e.energy.min>0||e.energy.max>0||e.disciplines.courage>0||e.disciplines.power>0||e.disciplines.wisdom>0||e.disciplines.speed>0)&&(l=l.limit(0),x=x.limit(0),d=d.limit(0),u=u.limit(0)),""!==e.mcbp.min&&e.mcbp.min>=0&&(l=l.find({gsx$bp:{$gte:e.mcbp.min}}),c=c.find({gsx$mugicability:{$gte:e.mcbp.min}}),u=u.find({gsx$cost:{$gte:e.mcbp.min}})),""!==e.mcbp.max&&e.mcbp.max>=0&&e.mcbp.max>=e.mcbp.min&&(l=l.find({gsx$bp:{$lte:e.mcbp.max}}),c=c.find({gsx$mugicability:{$lte:e.mcbp.max}}),u=u.find({gsx$cost:{$lte:e.mcbp.max}})),(e.mcbp.max>0||e.mcbp.min>0)&&(x=x.limit(0),d=d.limit(0)),e.mull.unique&&(l=l.find({gsx$unique:{$gt:0}}),x=x.find({gsx$unique:{$gt:0}}),c=c.find({gsx$unique:{$gt:0}}),d=d.find({gsx$unique:{$gt:0}}),u=u.find({gsx$unique:{$gt:0}})),e.mull.loyal&&(l=l.limit(0),x=x.find({gsx$loyal:{$gt:0}}),c=c.find({gsx$loyal:{$gt:0}}),u=u.limit(0),d=d.limit(0)),e.mull.legendary&&(l=l.find({gsx$legendary:{$gt:0}}),x=x.find({gsx$legendary:{$gt:0}}),c=c.find({gsx$legendary:{$gt:0}}),d=d.find({gsx$legendary:{$gt:0}}),u=u.find({gsx$legendary:{$gt:0}})),e.mull.mixed&&(c=c.find({gsx$loyal:{$lte:0}}),x=x.find({gsx$loyal:{$lte:0}}));var _=[];for(var z in e.sets)e.sets[z]&&_.push({$eq:z.toUpperCase()});if(0===_.length){var F=Object.keys(e.sets);for(var G in e.sets.proto||F.splice(F.indexOf("proto")),F)_.push({$eq:F[G].toUpperCase()})}_.length>0&&(l=l.find({gsx$set:{$or:_}}),x=x.find({gsx$set:{$or:_}}),c=c.find({gsx$set:{$or:_}}),d=d.find({gsx$set:{$or:_}}),u=u.find({gsx$set:{$or:_}}));var H=[];for(var I in e.rarity)e.rarity[I]&&H.push({$eq:I.split(" ").map((function(e){return e.charAt(0).toUpperCase()+e.slice(1)})).join(" ")});H.length>0&&(l=l.find({gsx$rarity:{$or:H}}),x=x.find({gsx$rarity:{$or:H}}),c=c.find({gsx$rarity:{$or:H}}),d=d.find({gsx$rarity:{$or:H}}),u=u.find({gsx$rarity:{$or:H}}));var J=!(e.types.attack|e.types.battlegear|e.types.creature|e.types.location|e.types.mugic);if(J||e.types.attack){var K=l.data();K.forEach((function(e){delete e.$loki})),$.insert(K)}if(J||e.types.battlegear){var M=x.data();M.forEach((function(e){delete e.$loki})),$.insert(M)}if(J||e.types.creature){var N=c.data();N.forEach((function(e){delete e.$loki})),$.insert(N)}if(J||e.types.location){var P=d.data();P.forEach((function(e){delete e.$loki})),$.insert(P)}if(J||e.types.mugic){var Q=u.data();Q.forEach((function(e){delete e.$loki})),$.insert(Q)}return o.data()}}}]); \ No newline at end of file diff --git a/src/components/collection/search/search.js b/src/components/collection/search/search.js index c45ae52..4ac831e 100644 --- a/src/components/collection/search/search.js +++ b/src/components/collection/search/search.js @@ -182,57 +182,49 @@ export default function search_api(input) { // Search by elements if (input.elements.none) { - if (!input.elements.and) { - const { fire, air, earth, water } = input.elements; + const { fire, air, earth, water } = input.elements; + // Note / None + if (!input.elements.and) { + // If any elements are present, then exclude them in the search if (fire || air || earth || water) { - if (input.elements.fire) { - attackResults = attackResults.where(obj => obj.gsx$fire == ""); - } - if (input.elements.air) { - attackResults = attackResults.where(obj => obj.gsx$air == ""); - } - if (input.elements.earth) { - attackResults = attackResults.where(obj => obj.gsx$earth == ""); - } - if (input.elements.water) { - attackResults = attackResults.where(obj => obj.gsx$water == ""); - } - /// ^((?!fire).)*$ - // TODO ignore creature elements - creatureResults = creatureResults - .where(obj => (obj.gsx$elements == '')); + if (fire) attackResults = attackResults.where(obj => obj.gsx$fire == ""); + if (air) attackResults = attackResults.where(obj => obj.gsx$air == ""); + if (earth) attackResults = attackResults.where(obj => obj.gsx$earth == ""); + if (water) attackResults = attackResults.where(obj => obj.gsx$water == ""); + + const el = ["fire", "air", "earth", "water"].reduce((prev, e) => + prev + (input.elements[e] ? `(?!${e})`: '') + , ""); + + creatureResults = creatureResults.find({ 'gsx$elements': + { '$regex': new RegExp(`^(${el}.)*$`, "i") } + }); } else { attackResults = attackResults - .where((obj) => {return (obj.gsx$fire == (''))}) - .where((obj) => {return (obj.gsx$air == (''))}) - .where((obj) => {return (obj.gsx$earth == (''))}) - .where((obj) => {return (obj.gsx$water == (''))}); + .where((obj) => obj.gsx$fire == ('')) + .where((obj) => obj.gsx$air == ('')) + .where((obj) => obj.gsx$earth == ('')) + .where((obj) => obj.gsx$water == ('')); creatureResults = creatureResults .where(obj => (obj.gsx$elements == '')); } } else { - attackResults = attackResults.where( - (obj) => (input.elements.fire ? obj.gsx$fire != "" : obj.gsx$fire == "") - ).where( - (obj) => (input.elements.air ? obj.gsx$air != "" : obj.gsx$air == "") - ).where( - (obj) => (input.elements.earth ? obj.gsx$earth != "" : obj.gsx$earth == "") - ).where( - (obj) => (input.elements.water ? obj.gsx$water != "" : obj.gsx$water == "") - ); + attackResults = attackResults + .where((obj) => (fire ? obj.gsx$fire != "" : obj.gsx$fire == "")) + .where((obj) => (air ? obj.gsx$air != "" : obj.gsx$air == "")) + .where((obj) => (earth ? obj.gsx$earth != "" : obj.gsx$earth == "")) + .where((obj) => (water ? obj.gsx$water != "" : obj.gsx$water == "")); - let el = ""; - ["fire", "air", "earth", "water"].forEach((element) => { - if (input.elements[element]) - el += element + ", "; - }); + const el = ["fire", "air", "earth", "water"].reduce((prev, e) => + (input.elements[e]) ? `${prev}, ${e}` : prev + , ""); if (el !== "") { creatureResults = creatureResults.find({ 'gsx$elements': - { '$regex': new RegExp("^" + el.substring(0, el.length-2) + "\s*$", 'i') } + { '$regex': new RegExp("^" + el + "\s*$", 'i') } }); } }