Skip to content

Commit 00678fb

Browse files
committed
Refactor to ignore iterator return values
1 parent 74e55d4 commit 00678fb

2 files changed

Lines changed: 1 addition & 73 deletions

File tree

lib/node_modules/@stdlib/iter/reject/lib/main.js

Lines changed: 1 addition & 8 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

@@ -88,7 +87,6 @@ function iterReject( iterator, predicate, thisArg ) {
8887
* @returns {Object} iterator protocol-compliant object
8988
*/
9089
function next() {
91-
var out;
9290
var v;
9391
if ( FLG ) {
9492
return {
@@ -100,12 +98,7 @@ function iterReject( iterator, predicate, thisArg ) {
10098
i += 1;
10199
if ( v.done ) {
102100
FLG = true;
103-
out = {};
104-
if ( hasOwnProp( v, 'value' ) && !predicate.call( thisArg, v.value, i ) ) {
105-
out.value = v.value;
106-
}
107-
out.done = true;
108-
return out;
101+
return v;
109102
}
110103
if ( !predicate.call( thisArg, v.value, i ) ) {
111104
return {

lib/node_modules/@stdlib/iter/reject/test/test.js

Lines changed: 0 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,6 @@ var noop = require( '@stdlib/utils/noop' );
2929
var iterReject = 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 ) {
@@ -145,40 +114,6 @@ tape( 'the function returns an iterator protocol-compliant object', function tes
145114
}
146115
});
147116

148-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
149-
var expected;
150-
var values;
151-
var actual;
152-
var it;
153-
var i;
154-
155-
values = [ 1, 3, 2, 4 ];
156-
expected = [
157-
{
158-
'value': 3,
159-
'done': false
160-
},
161-
{
162-
'value': 4,
163-
'done': true
164-
}
165-
];
166-
167-
it = iterReject( createIterator( values ), predicate );
168-
t.equal( it.next.length, 0, 'has zero arity' );
169-
170-
actual = [];
171-
for ( i = 0; i < expected.length; i++ ) {
172-
actual.push( it.next() );
173-
}
174-
t.deepEqual( actual, expected, 'returns expected values' );
175-
t.end();
176-
177-
function predicate( v ) {
178-
return ( v <= 2 );
179-
}
180-
});
181-
182117
tape( 'the function returns an iterator protocol-compliant object which rejects iterated values according to a predicate function', function test( t ) {
183118
var expected;
184119
var actual;

0 commit comments

Comments
 (0)