ff163e96c07a0d95adee0d1401b2e3db3dd6fbb6
[aai/esr-gui.git] /
1 'use strict';
2
3 Object.defineProperty(exports, "__esModule", {
4     value: true
5 });
6 exports.default = _filter;
7
8 var _arrayMap = require('lodash/_arrayMap');
9
10 var _arrayMap2 = _interopRequireDefault(_arrayMap);
11
12 var _baseProperty = require('lodash/_baseProperty');
13
14 var _baseProperty2 = _interopRequireDefault(_baseProperty);
15
16 var _noop = require('lodash/noop');
17
18 var _noop2 = _interopRequireDefault(_noop);
19
20 var _once = require('./once');
21
22 var _once2 = _interopRequireDefault(_once);
23
24 function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
26 function _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 }
50 module.exports = exports['default'];