UNPKG

1.36 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6exports.default = _filter;
7
8var _arrayMap = require('lodash/_arrayMap');
9
10var _arrayMap2 = _interopRequireDefault(_arrayMap);
11
12var _baseProperty = require('lodash/_baseProperty');
13
14var _baseProperty2 = _interopRequireDefault(_baseProperty);
15
16var _noop = require('lodash/noop');
17
18var _noop2 = _interopRequireDefault(_noop);
19
20var _once = require('./once');
21
22var _once2 = _interopRequireDefault(_once);
23
24function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26function _filter(eachfn, arr, iteratee, callback) {
27 callback = (0, _once2.default)(callback || _noop2.default);
28 var results = [];
29 eachfn(arr, function (x, index, callback) {
30 iteratee(x, function (err, v) {
31 if (err) {
32 callback(err);
33 } else {
34 if (v) {
35 results.push({ index: index, value: x });
36 }
37 callback();
38 }
39 });
40 }, function (err) {
41 if (err) {
42 callback(err);
43 } else {
44 callback(null, (0, _arrayMap2.default)(results.sort(function (a, b) {
45 return a.index - b.index;
46 }), (0, _baseProperty2.default)('value')));
47 }
48 });
49}
50module.exports = exports['default'];
\No newline at end of file