@feathersjs/commons
Advanced tools
Comparing version 2.0.0 to 3.0.0-pre.1
# Change Log | ||
## [v2.0.0](https://github.com/feathersjs/commons/tree/v2.0.0) (2018-08-03) | ||
[Full Changelog](https://github.com/feathersjs/commons/compare/v1.4.4...v2.0.0) | ||
**Merged pull requests:** | ||
- Merge major with latest changes [\#80](https://github.com/feathersjs/commons/pull/80) ([daffl](https://github.com/daffl)) | ||
- Ability to specify custom filters in filterQuery [\#73](https://github.com/feathersjs/commons/pull/73) ([vonagam](https://github.com/vonagam)) | ||
## [v1.4.4](https://github.com/feathersjs/commons/tree/v1.4.4) (2018-08-01) | ||
@@ -4,0 +12,0 @@ [Full Changelog](https://github.com/feathersjs/commons/compare/v1.4.3...v1.4.4) |
const utils = require('./utils'); | ||
const hooks = require('./hooks'); | ||
const args = require('./arguments'); | ||
const filterQuery = require('./filter-query'); | ||
module.exports = Object.assign({}, utils, args, { hooks, filterQuery }); | ||
module.exports = Object.assign({}, utils, { hooks, filterQuery }); |
@@ -28,18 +28,12 @@ const { _ } = require('./utils'); | ||
const result = {}; | ||
Object.keys(sort).forEach(key => { | ||
return Object.keys(sort).reduce((result, key) => { | ||
result[key] = typeof sort[key] === 'object' | ||
? sort[key] : parseInt(sort[key], 10); | ||
}); | ||
return result; | ||
return result; | ||
}, {}); | ||
} | ||
function cleanQuery (query, operators) { | ||
if (Array.isArray(query)) { | ||
return query.map((query) => cleanQuery(query, operators)); | ||
} | ||
if (query && query.constructor === Object) { | ||
if (_.isObject(query)) { | ||
const result = {}; | ||
@@ -66,2 +60,4 @@ _.each(query, (query, key) => { | ||
} | ||
return object; | ||
} | ||
@@ -82,13 +78,16 @@ | ||
module.exports = function filterQuery (query, options = {}) { | ||
let { filters: additionalFilters = {}, operators: additionalOperators = [] } = options; | ||
let result = {}; | ||
const { | ||
filters: additionalFilters = {}, | ||
operators: additionalOperators = [] | ||
} = options; | ||
const result = {}; | ||
result.filters = {}; | ||
assignFilters(result.filters, query, FILTERS, options); | ||
assignFilters(result.filters, query, additionalFilters, options); | ||
result.filters = assignFilters({}, query, FILTERS, options); | ||
result.filters = assignFilters(result.filters, query, additionalFilters, options); | ||
let operators = OPERATORS.concat(additionalOperators); | ||
result.query = cleanQuery(query, operators); | ||
result.query = cleanQuery(query, OPERATORS.concat(additionalOperators)); | ||
return result; | ||
}; | ||
Object.assign(module.exports, { OPERATORS, FILTERS }); |
@@ -1,8 +0,9 @@ | ||
const { each, pick } = require('./utils')._; | ||
const { _: { each, pick }, createSymbol } = require('./utils'); | ||
// To skip further hooks | ||
const SKIP = exports.SKIP = typeof Symbol !== 'undefined' | ||
? Symbol('__feathersSkipHooks') | ||
: '__feathersSkipHooks'; | ||
const SKIP = createSymbol('__feathersSkipHooks'); | ||
exports.SKIP = SKIP; | ||
exports.ACTIVATE_HOOKS = createSymbol('__feathersActivateHooks'); | ||
exports.createHookObject = function createHookObject (method, data = {}) { | ||
@@ -9,0 +10,0 @@ const hook = {}; |
@@ -48,2 +48,6 @@ // Removes all leading and trailing slashes from a path | ||
isObjectOrArray (value) { | ||
return typeof value === 'object' && value !== null; | ||
}, | ||
extend (...args) { | ||
@@ -134,2 +138,6 @@ return Object.assign(...args); | ||
exports.createSymbol = name => { | ||
return typeof Symbol !== 'undefined' ? Symbol(name) : name; | ||
}; | ||
// Sorting algorithm taken from NeDB (https://github.com/louischatriot/nedb) | ||
@@ -136,0 +144,0 @@ // See https://github.com/louischatriot/nedb/blob/e3f0078499aa1005a59d0c2372e425ab789145c1/lib/model.js#L189 |
{ | ||
"name": "@feathersjs/commons", | ||
"version": "2.0.0", | ||
"version": "3.0.0-pre.1", | ||
"description": "Shared Feathers utility functions", | ||
@@ -5,0 +5,0 @@ "homepage": "https://github.com/feathersjs/commons", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
42094
12
588
1