source: trip-planner-front/node_modules/async/internal/filter.js@ 188ee53

Last change on this file since 188ee53 was 6a3a178, checked in by Ema <ema_spirova@…>, 3 years ago

initial commit

  • Property mode set to 100644
File size: 2.1 KB
Line 
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 _isArrayLike = require('lodash/isArrayLike');
13
14var _isArrayLike2 = _interopRequireDefault(_isArrayLike);
15
16var _baseProperty = require('lodash/_baseProperty');
17
18var _baseProperty2 = _interopRequireDefault(_baseProperty);
19
20var _noop = require('lodash/noop');
21
22var _noop2 = _interopRequireDefault(_noop);
23
24var _wrapAsync = require('./wrapAsync');
25
26var _wrapAsync2 = _interopRequireDefault(_wrapAsync);
27
28function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
30function filterArray(eachfn, arr, iteratee, callback) {
31 var truthValues = new Array(arr.length);
32 eachfn(arr, function (x, index, callback) {
33 iteratee(x, function (err, v) {
34 truthValues[index] = !!v;
35 callback(err);
36 });
37 }, function (err) {
38 if (err) return callback(err);
39 var results = [];
40 for (var i = 0; i < arr.length; i++) {
41 if (truthValues[i]) results.push(arr[i]);
42 }
43 callback(null, results);
44 });
45}
46
47function filterGeneric(eachfn, coll, iteratee, callback) {
48 var results = [];
49 eachfn(coll, function (x, index, callback) {
50 iteratee(x, function (err, v) {
51 if (err) {
52 callback(err);
53 } else {
54 if (v) {
55 results.push({ index: index, value: x });
56 }
57 callback();
58 }
59 });
60 }, function (err) {
61 if (err) {
62 callback(err);
63 } else {
64 callback(null, (0, _arrayMap2.default)(results.sort(function (a, b) {
65 return a.index - b.index;
66 }), (0, _baseProperty2.default)('value')));
67 }
68 });
69}
70
71function _filter(eachfn, coll, iteratee, callback) {
72 var filter = (0, _isArrayLike2.default)(coll) ? filterArray : filterGeneric;
73 filter(eachfn, coll, (0, _wrapAsync2.default)(iteratee), callback || _noop2.default);
74}
75module.exports = exports['default'];
Note: See TracBrowser for help on using the repository browser.