Skip to content

Commit b0b21ae

Browse files
committed
Refactor to ignore iterator return values
1 parent f6ec8fd commit b0b21ae

2 files changed

Lines changed: 1 addition & 117 deletions

File tree

lib/node_modules/@stdlib/iter/filter-map/lib/main.js

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-property' );
2424
var isFunction = require( '@stdlib/assert/is-function' );
2525
var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );
26-
var hasOwnProp = require( '@stdlib/assert/has-own-property' );
2726
var iteratorSymbol = require( '@stdlib/symbol/iterator' );
2827

2928

@@ -94,7 +93,6 @@ function iterFilterMap( iterator, fcn, thisArg ) {
9493
* @returns {Object} iterator protocol-compliant object
9594
*/
9695
function next() {
97-
var out;
9896
var v;
9997
if ( FLG ) {
10098
return {
@@ -106,15 +104,7 @@ function iterFilterMap( iterator, fcn, thisArg ) {
106104
i += 1;
107105
if ( v.done ) {
108106
FLG = true;
109-
out = {};
110-
if ( hasOwnProp( v, 'value' ) ) {
111-
v = fcn.call( thisArg, v.value, i );
112-
if ( v !== void 0 ) {
113-
out.value = v;
114-
}
115-
}
116-
out.done = true;
117-
return out;
107+
return v;
118108
}
119109
v = fcn.call( thisArg, v.value, i );
120110
if ( v !== void 0 ) {

lib/node_modules/@stdlib/iter/filter-map/test/test.js

Lines changed: 0 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,6 @@ var noop = require( '@stdlib/utils/noop' );
2929
var iterFilterMap = require( './../lib' );
3030

3131

32-
// FUNCTIONS //
33-
34-
function createIterator( arr ) {
35-
var len;
36-
var it;
37-
var i;
38-
39-
len = arr.length;
40-
i = -1;
41-
42-
it = {};
43-
it.next = next;
44-
45-
return it;
46-
47-
function next() {
48-
var out;
49-
i += 1;
50-
if ( i < len ) {
51-
out = {};
52-
out.value = arr[ i ];
53-
out.done = ( i === len-1 );
54-
return out;
55-
}
56-
return {
57-
'done': true
58-
};
59-
}
60-
}
61-
62-
6332
// TESTS //
6433

6534
tape( 'main export is a function', function test( t ) {
@@ -147,81 +116,6 @@ tape( 'the function returns an iterator protocol-compliant object', function tes
147116
}
148117
});
149118

150-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
151-
var expected;
152-
var values;
153-
var actual;
154-
var it;
155-
var i;
156-
157-
values = [ 1, 3, 2, 4 ];
158-
expected = [
159-
{
160-
'value': 30,
161-
'done': false
162-
},
163-
{
164-
'value': 40,
165-
'done': true
166-
}
167-
];
168-
169-
it = iterFilterMap( createIterator( values ), fcn );
170-
t.equal( it.next.length, 0, 'has zero arity' );
171-
172-
actual = [];
173-
for ( i = 0; i < expected.length; i++ ) {
174-
actual.push( it.next() );
175-
}
176-
t.deepEqual( actual, expected, 'returns expected values' );
177-
t.end();
178-
179-
function fcn( v ) {
180-
if ( v > 2 ) {
181-
return v * 10;
182-
}
183-
}
184-
});
185-
186-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
187-
var expected;
188-
var values;
189-
var actual;
190-
var it;
191-
var i;
192-
193-
values = [ 1, 3, 4, 2 ];
194-
expected = [
195-
{
196-
'value': 30,
197-
'done': false
198-
},
199-
{
200-
'value': 40,
201-
'done': false
202-
},
203-
{
204-
'done': true
205-
}
206-
];
207-
208-
it = iterFilterMap( createIterator( values ), fcn );
209-
t.equal( it.next.length, 0, 'has zero arity' );
210-
211-
actual = [];
212-
for ( i = 0; i < expected.length; i++ ) {
213-
actual.push( it.next() );
214-
}
215-
t.deepEqual( actual, expected, 'returns expected values' );
216-
t.end();
217-
218-
function fcn( v ) {
219-
if ( v > 2 ) {
220-
return v * 10;
221-
}
222-
}
223-
});
224-
225119
tape( 'the function returns an iterator protocol-compliant object which filters and maps iterated values according to a callback function', function test( t ) {
226120
var expected;
227121
var actual;

0 commit comments

Comments
 (0)