Skip to content

Commit 47fc9d5

Browse files
authored
Use Lodash for utility functions (#541)
1 parent e5e417b commit 47fc9d5

27 files changed

+62
-412
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ sudo: false
22
language: node_js
33
node_js:
44
- 'node'
5-
- '8'
5+
- 12

TODO.md

Lines changed: 0 additions & 36 deletions
This file was deleted.

lib/common/_pluck.js

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,12 @@
1-
2-
const getByDot = require('./get-by-dot');
3-
const setByDot = require('./set-by-dot');
1+
const pick = require('lodash/pick');
42

53
module.exports = function (items, fieldNames) {
64
if (!Array.isArray(items)) {
7-
return _pluckItem(items, fieldNames);
5+
return pick(items, fieldNames);
86
}
97

10-
const pluckedItems = [];
11-
12-
(Array.isArray(items) ? items : [items]).forEach(item => {
13-
pluckedItems.push(_pluckItem(item, fieldNames));
14-
});
8+
const pluckedItems = (Array.isArray(items) ? items : [items])
9+
.map(item => pick(item, fieldNames));
1510

1611
return pluckedItems;
1712
};
18-
19-
function _pluckItem (item, fieldNames) {
20-
const plucked = {};
21-
22-
fieldNames.forEach(fieldName => {
23-
const value = fieldName in item ? item[fieldName] : getByDot(item, fieldName);
24-
if (value !== undefined) { // prevent setByDot creating nested empty objects
25-
if (fieldName in item) { plucked[fieldName] = value; } else { setByDot(plucked, fieldName, value); }
26-
}
27-
});
28-
29-
return plucked;
30-
}

lib/common/_set-fields.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
const setByDot = require('./set-by-dot');
1+
const setByDot = require('lodash/set');
32

43
module.exports = function (items /* modified */, fieldValue, fieldNames, defaultFieldName) {
54
const value = typeof fieldValue === 'function' ? fieldValue() : fieldValue;

lib/common/_transform-items.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
const getByDot = require('./get-by-dot');
2+
const getByDot = require('lodash/get');
33

44
module.exports = function (items /* modified */, fieldNames, transformer) {
55
(Array.isArray(items) ? items : [items]).forEach(item => {

lib/common/exists-by-dot.js

Lines changed: 0 additions & 19 deletions
This file was deleted.

lib/common/get-by-dot.js

Lines changed: 0 additions & 13 deletions
This file was deleted.

lib/common/set-by-dot.js

Lines changed: 0 additions & 37 deletions
This file was deleted.

lib/services/calling-params.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

2-
const getByDot = require('../common/get-by-dot');
3-
const setByDot = require('../common/set-by-dot');
2+
const getByDot = require('lodash/get');
3+
const setByDot = require('lodash/set');
44

55
const stndAuthProps = ['provider', 'authenticated', 'user']; // feathers-authentication
66
// App wide defaults

lib/services/index.js

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,11 @@ const debug = require('./debug');
1111
const deleteByDot = require('../common/delete-by-dot');
1212
const dePopulate = require('./de-populate');
1313
const disablePagination = require('./disable-pagination');
14-
const disallow = require('./disallow');
1514
const discard = require('./discard');
15+
const disallow = require('./disallow');
1616
const discardQuery = require('./discard-query');
17-
const existsByDot = require('../common/exists-by-dot');
1817
const fastJoin = require('./fast-join');
1918
const fgraphql = require('./fgraphql');
20-
const getByDot = require('../common/get-by-dot');
2119
const getItems = require('./get-items');
2220
const isProvider = require('./is-provider');
2321
const keep = require('./keep');
@@ -36,7 +34,6 @@ const runHook = require('./run-hook');
3634
const runParallel = require('./run-parallel');
3735
const sequelizeConvert = require('./sequelize-convert');
3836
const serialize = require('./serialize');
39-
const setByDot = require('../common/set-by-dot');
4037
const setNow = require('./set-now');
4138
const setSlug = require('./set-slug');
4239
const sifter = require('./sifter');
@@ -68,10 +65,8 @@ module.exports = Object.assign({
6865
disallow,
6966
discard,
7067
discardQuery,
71-
existsByDot,
7268
fastJoin,
7369
fgraphql,
74-
getByDot,
7570
getItems,
7671
isProvider,
7772
keep,
@@ -91,7 +86,6 @@ module.exports = Object.assign({
9186
runParallel,
9287
sequelizeConvert,
9388
serialize,
94-
setByDot,
9589
setNow,
9690
setSlug,
9791
sifter,

0 commit comments

Comments
 (0)