New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

queryfilters

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

queryfilters - npm Package Compare versions

Comparing version 0.3.7 to 0.3.8

2

dist/queryql-min.js

@@ -1,1 +0,1 @@

"use strict";function Combinators(){var t="filtering";this.getCombinators=function(){return["and",t,"filtering_or","or"]},this.getDefaultCombinator=function(){return t}}function QueryStringBuilder(){this.filters=[];var t=new Combinators;this.combinators=t.getCombinators(),this.combine=t.getDefaultCombinator(),this.ensureHaveValidCombinator=function(){if(!this.combinators.includes(this.getCombinator()))throw new Error("combinator "+this.getCombinator()+" is not available");return this},this.setCombinator=function(t){return this.combine=t,this},this.getCombinator=function(){return this.combine},this.setFilters=function(t){return this.filters=t,this},this.build=function(){var t="",i="",e=Object.keys(this.filters),r=0,n=0,s=[],o=[],a=[];for(n=e.length;r<n;r+=1){if(s=this.filters[e[r]],this.containsRelations(s)){(o=s.field.split(".")).pop(),this.containsEmbedded(s)&&o.shift();var l=o.join();0==a.includes(l)&&(i+=""!=i?","+l:"rel="+l),a.push(l)}""!=t&&(t+="&"),t+=this.combine+"["+this.getFilterIndex(s)+"]="+s.value}var h="";return""!=i&&""!=t&&(h="&"),i+h+t},this.getFilterIndex=function(t){return!this.containsEmbedded(t)&&this.containsRelations(t)?"_embedded."+t.field:t.field},this.containsRelations=function(t){return-1!==t.field.indexOf(".")},this.containsEmbedded=function(t){return 0===t.field.indexOf("_embedded")}}function FilterManager(){this.filters=[],this.reset=function(){this.filters=[]},this.push=function(t){this.filters.push(t)},this.getFilters=function(){return this.filters},this.getFilter=function(t){return this.filters[t]},this.getFields=function(){var t=[],i=0,e=0,r=Object.keys(this.getFilters());for(e=r.length;i<e;i+=1)t.push(this.getFilter(r[i]).field);return t}}function QueryQl(){this.setCombinator=function(t){return this.builder.setCombinator(t),this},this.builder=new QueryStringBuilder,this.filterManager=new FilterManager,this.rel=[],this.applyFilter=function(t){this.filterManager.push(t)},this.getRels=function(){this.rel=[];for(var t in this.filterManager.getFilters()){var i=this.filterManager.getFilter(t);if(this.builder.containsRelations(i)){var e=i.field.split(".")[1];this.rel.push(e)}}return this.rel},this.getQueryString=function(){return this.builder.ensureHaveValidCombinator().setFilters(this.filterManager.getFilters()).build()},this.getFilters=function(){return this.filterManager.getFields()},this.containsCombinator=function(t){for(var i in t)if("object"==typeof t[i])return!0;return!1},this.detectCombinator=function(t){for(var i in t)if("object"==typeof t[i])return i;return!1},this.keepDefaultCombinator=function(){return this},this.keepOrFilteringCombinator=function(){return this.setCombinator("filtering_or"),this},this.json=function(t){var i=this.buildFieldsWithRightCombinator(t);for(var e in i)if("object"==typeof i[e]){var r=1;for(var n in i[e]){var s=e+"|"+r,o=i[e][n];r+=1,this.applyFilter({field:s,value:o})}}else this.applyFilter({field:e,value:i[e]})},this.buildFieldsWithRightCombinator=function(t){var i=t;if(this.containsCombinator(t)){var e=this.detectCombinator(t);this.setCombinator(e),i=t[e]}return i},this.parseRawField=function(t){var i=t.split("|"),e=i[1];if(-1!=["list","eq"].indexOf(e))return{field:i[0],operator:e};if(void 0===e)return{field:i[0],operator:"eq"};throw new Error("operator "+e+" is not supported")},this.getFieldOperator=function(t){for(var i in this.filterManager.getFilters())if(-1!=this.filterManager.getFilters()[i].field.indexOf(t)){var e=this.parseRawField(this.filterManager.getFilters()[i].field);return"string"==typeof e.operator?e.operator:"eq"}},this.or=function(t,i){"object"!=typeof i||1!=i.oldStyle?this.json({or:t}):this.json({filtering_or:t})},this.and=function(t,i){"object"!=typeof i||1!=i.oldStyle?this.json({and:t}):this.json({filtering:t})},this.andFiltering=function(t){var i={filtering:t};this.json(i)},this.orFiltering=function(t){var i={filtering_or:t};this.json(i)},this.storedQueries=[],this.store=function(t,i,e){this.storedQueries[i]={query:t,parameter:e}},this.getStoredQuery=function(t){return this.filterManager.reset(),this.json(this.storedQueries[t].query),this.getQueryString()},this.getQueryParameter=function(t){return this.storedQueries[t].parameter},this.getRawQuery=function(t){return this.getStoredQuery(t)},this.getFinalQuery=function(t,i){return this.getRawQuery(t).replace("##"+this.getQueryParameter(t)+"##",i)}}global.module=global.module||{},(module||{}).exports=QueryQl;
"use strict";function Combinators(){var t="filtering";this.getCombinators=function(){return["and",t,"filtering_or","or"]},this.getDefaultCombinator=function(){return t}}function QueryStringBuilder(){this.filters=[],this.sorters=[];var t=new Combinators;this.combinators=t.getCombinators(),this.combine=t.getDefaultCombinator(),this.ensureHaveValidCombinator=function(){if(!this.combinators.includes(this.getCombinator()))throw new Error("combinator "+this.getCombinator()+" is not available");return this},this.setCombinator=function(t){return this.combine=t,this},this.getCombinator=function(){return this.combine},this.setSorters=function(t){return this.sorters=t,this},this.setFilters=function(t){return this.filters=t,this},this.build=function(){var t="",i="",e=Object.keys(this.filters),r=0,n=0,s=[],o=[],a=[];for(n=e.length;r<n;r+=1){if(s=this.filters[e[r]],this.containsRelations(s)){(o=s.field.split(".")).pop(),this.containsEmbedded(s)&&o.shift();var h=o.join();0==a.includes(h)&&(i+=""!=i?","+h:"rel="+h),a.push(h)}""!=t&&(t+="&"),t+=this.combine+"["+this.getFilterIndex(s)+"]="+s.value}for(var u in this.sorters){var l=this.sorters[u];t+="&sorting["+this.getFilterIndex(l)+"]="+l.value}var f="";return""!=i&&""!=t&&(f="&"),i+f+t},this.getFilterIndex=function(t){return!this.containsEmbedded(t)&&this.containsRelations(t)?"_embedded."+t.field:t.field},this.containsRelations=function(t){return-1!==t.field.indexOf(".")},this.containsEmbedded=function(t){return 0===t.field.indexOf("_embedded")}}function SortingManager(){this.sorters=[],this.push=function(t){this.sorters.push(t)},this.getSorters=function(){return this.sorters}}function FilterManager(){this.filters=[],this.reset=function(){this.filters=[]},this.push=function(t){this.filters.push(t)},this.getFilters=function(){return this.filters},this.getFilter=function(t){return this.filters[t]},this.getFields=function(){var t=[],i=0,e=0,r=Object.keys(this.getFilters());for(e=r.length;i<e;i+=1)t.push(this.getFilter(r[i]).field);return t}}function QueryQl(){this.setCombinator=function(t){return this.builder.setCombinator(t),this},this.builder=new QueryStringBuilder,this.filterManager=new FilterManager,this.sortingManager=new SortingManager,this.rel=[],this.applySorting=function(t){this.sortingManager.push(t)},this.applyFilter=function(t){this.filterManager.push(t)},this.getRels=function(){this.rel=[];for(var t in this.filterManager.getFilters()){var i=this.filterManager.getFilter(t);if(this.builder.containsRelations(i)){var e=i.field.split(".")[1];this.rel.push(e)}}return this.rel},this.getQueryString=function(){return this.builder.ensureHaveValidCombinator().setFilters(this.filterManager.getFilters()).setSorters(this.sortingManager.getSorters()).build()},this.getFilters=function(){return this.filterManager.getFields()},this.containsCombinator=function(t){for(var i in t)if("object"==typeof t[i])return!0;return!1},this.detectCombinator=function(t){for(var i in t)if("object"==typeof t[i])return i;return!1},this.keepDefaultCombinator=function(){return this},this.keepOrFilteringCombinator=function(){return this.setCombinator("filtering_or"),this},this.json=function(t){var i=this.buildFieldsWithRightCombinator(t);for(var e in i)if("object"==typeof i[e]){var r=1;for(var n in i[e]){var s=e+"|"+r,o=i[e][n];r+=1,this.applyFilter({field:s,value:o})}}else this.applyFilter({field:e,value:i[e]})},this.sort=function(t){for(var i in t)this.applySorting({field:i,value:t[i]})},this.buildFieldsWithRightCombinator=function(t){var i=t;if(this.containsCombinator(t)){var e=this.detectCombinator(t);this.setCombinator(e),i=t[e]}return i},this.parseRawField=function(t){var i=t.split("|"),e=i[1];if(-1!=["list","eq"].indexOf(e))return{field:i[0],operator:e};if(void 0===e)return{field:i[0],operator:"eq"};throw new Error("operator "+e+" is not supported")},this.getFieldOperator=function(t){for(var i in this.filterManager.getFilters())if(-1!=this.filterManager.getFilters()[i].field.indexOf(t)){var e=this.parseRawField(this.filterManager.getFilters()[i].field);return"string"==typeof e.operator?e.operator:"eq"}},this.or=function(t,i){"object"!=typeof i||1!=i.oldStyle?this.json({or:t}):this.json({filtering_or:t})},this.and=function(t,i){"object"!=typeof i||1!=i.oldStyle?this.json({and:t}):this.json({filtering:t})},this.andFiltering=function(t){var i={filtering:t};this.json(i)},this.orFiltering=function(t){var i={filtering_or:t};this.json(i)},this.storedQueries=[],this.store=function(t,i,e){this.storedQueries[i]={query:t,parameter:e}},this.getStoredQuery=function(t){return this.filterManager.reset(),this.json(this.storedQueries[t].query),this.getQueryString()},this.getQueryParameter=function(t){return this.storedQueries[t].parameter},this.getRawQuery=function(t){return this.getStoredQuery(t)},this.getFinalQuery=function(t,i){return this.getRawQuery(t).replace("##"+this.getQueryParameter(t)+"##",i)}}global.module=global.module||{},(module||{}).exports=QueryQl;

@@ -5,5 +5,5 @@ "use strict";

var COMBINATORS_AND = "and";
var COMBINATORS_DEFAULT = "filtering";
var COMBINATORS_DEFAULT = "filtering"
var COMBINATORS_FILTERING_OR = "filtering_or";
var COMBINATORS_OR = "or";
var COMBINATORS_OR = "or"

@@ -27,2 +27,4 @@ this.getCombinators = function () {

this.sorters = [];
var combinators = new Combinators();

@@ -50,2 +52,7 @@

this.setSorters = function (sorters) {
this.sorters = sorters;
return this;
};
this.setFilters = function (filters) {

@@ -94,2 +101,10 @@ this.filters = filters;

for (var s in this.sorters) {
var sorter = this.sorters[s];
qs += "&sorting["
+ this.getFilterIndex(sorter)
+ "]="
+ sorter.value;
}
var j = "";

@@ -120,2 +135,14 @@ if (rel != "" && qs != "") {

function SortingManager() {
this.sorters = [];
this.push = function (sorter) {
this.sorters.push(sorter);
};
this.getSorters = function () {
return this.sorters;
};
}
function FilterManager() {

@@ -162,7 +189,12 @@ this.filters = [];

this.sortingManager = new SortingManager();
this.rel = [];
this.applySorting = function (sorter) {
this.sortingManager.push(sorter);
};
this.applyFilter = function (filter) {
this.filterManager
.push(filter);
this.filterManager.push(filter);
};

@@ -186,2 +218,3 @@

.setFilters(this.filterManager.getFilters())
.setSorters(this.sortingManager.getSorters())
.build();

@@ -244,2 +277,8 @@ };

this.sort = function(jsonSort) {
for (var i in jsonSort) {
this.applySorting({field:i,value:jsonSort[i]});
}
};
this.buildFieldsWithRightCombinator = function (jsonQuery) {

@@ -246,0 +285,0 @@ var fields = jsonQuery;

@@ -40,5 +40,5 @@ # Store

'filtering': {
'relation.nick': '##nickname##'
'relation.field': '##fieldname##'
}
}, 'findUserByUsername', 'nickname');
}, 'findByValue', 'fieldname');
```

@@ -50,3 +50,3 @@ As you can see is it possible sto store the query, assign an alias and a name

```javascript
queryQl.getFinalQuery('findUserByUsername', 'simone')
queryQl.getFinalQuery('findByValue', '42')
```

@@ -57,3 +57,3 @@

```javascript
'rel=relation&filtering[_embedded.relation.nick]=simone'
'rel=relation&filtering[_embedded.relation.field]=42'
```
var gulp = require('gulp');
var minify = require('gulp-minify');
var shell = require('gulp-shell')
gulp.task('default', ['lint', 'compress'], function() {
// ...
});
gulp.task('test', function() {
gulp.src('lib/*.js').
pipe(shell([
'clear',
'npm test'
]));
});
gulp.task('lint', function() {
gulp.src('lib/*.js').
pipe(shell([
'npm run lint -- --fix'
]));
});
gulp.task('compress', function() {
gulp.src('lib/*.js')
.pipe(minify())
.pipe(gulp.dest('dist'))
gulp.src('lib/*.js')
.pipe(minify())
.pipe(gulp.dest('dist'))
});

@@ -100,5 +100,5 @@ "use strict";

var sorter = this.sorters[s];
qs += '&sorting['
qs += "&sorting["
+ this.getFilterIndex(sorter)
+ ']='
+ "]="
+ sorter.value;

@@ -105,0 +105,0 @@ }

{
"name": "queryfilters",
"version": "v0.3.7",
"version": "v0.3.8",
"scripts": {

@@ -8,2 +8,5 @@ "test": "jest",

},
"jest": {
"verbose": true
},
"keywords": [

@@ -26,4 +29,5 @@ "hal",

"gulp-minify": "^2.1.0",
"gulp-shell": "^0.6.5",
"jest": "^21.2.1"
}
}

@@ -139,3 +139,3 @@ const QueryQl = require('./../lib/queryql');

test.only('allow contains operator with arrays', () => {
test('allow contains operator with arrays', () => {
var jsonQuery = {

@@ -142,0 +142,0 @@ 'relation.nick|contains': ['senso', 'rario'],

const QueryQl = require('./../lib/queryql');
test.only('sort fields', () => {
test('sort fields', () => {
var queryQl = new QueryQl()

@@ -5,0 +5,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc