Skip to content

Commit 74e55d4

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

File tree

2 files changed

+4
-134
lines changed

2 files changed

+4
-134
lines changed

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

Lines changed: 4 additions & 13 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

@@ -60,6 +59,7 @@ var iteratorSymbol = require( '@stdlib/symbol/iterator' );
6059
function iterPush( iterator ) {
6160
var items;
6261
var iter;
62+
var ret;
6363
var FLG;
6464
var i;
6565
if ( !isIteratorLike( iterator ) ) {
@@ -100,9 +100,7 @@ function iterPush( iterator ) {
100100
i += 1;
101101
if ( i >= items.length ) {
102102
FLG = 2;
103-
return {
104-
'done': true
105-
};
103+
return ret;
106104
}
107105
return {
108106
'value': items[ i ],
@@ -112,19 +110,12 @@ function iterPush( iterator ) {
112110
v = iterator.next();
113111
if ( v.done ) {
114112
FLG = 1;
115-
if ( hasOwnProp( v, 'value' ) ) {
116-
return {
117-
'value': v.value,
118-
'done': false
119-
};
120-
}
121113
i += 1;
122114
if ( i >= items.length ) {
123115
FLG = 2;
124-
return {
125-
'done': true
126-
};
116+
return v;
127117
}
118+
ret = v;
128119
return {
129120
'value': items[ i ],
130121
'done': false

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

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,6 @@ var iteratorSymbol = require( '@stdlib/symbol/iterator' );
2929
var iterPush = 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 ) {
@@ -340,96 +309,6 @@ tape( 'the function returns an iterator protocol-compliant object (no additional
340309
t.end();
341310
});
342311

343-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
344-
var expected;
345-
var values;
346-
var actual;
347-
var it;
348-
var i;
349-
350-
values = [ 1, 2, 3, 4 ];
351-
expected = [
352-
{
353-
'value': 1,
354-
'done': false
355-
},
356-
{
357-
'value': 2,
358-
'done': false
359-
},
360-
{
361-
'value': 3,
362-
'done': false
363-
},
364-
{
365-
'value': 4,
366-
'done': false
367-
},
368-
{
369-
'value': 5,
370-
'done': false
371-
},
372-
{
373-
'value': 6,
374-
'done': false
375-
},
376-
{
377-
'done': true
378-
}
379-
];
380-
381-
it = iterPush( createIterator( values ), 5, 6 );
382-
t.equal( it.next.length, 0, 'has zero arity' );
383-
384-
actual = [];
385-
for ( i = 0; i < expected.length; i++ ) {
386-
actual.push( it.next() );
387-
}
388-
t.deepEqual( actual, expected, 'returns expected values' );
389-
t.end();
390-
});
391-
392-
tape( 'the function returns an iterator protocol-compliant object (value+done; no additional arguments)', function test( t ) {
393-
var expected;
394-
var values;
395-
var actual;
396-
var it;
397-
var i;
398-
399-
values = [ 1, 2, 3, 4 ];
400-
expected = [
401-
{
402-
'value': 1,
403-
'done': false
404-
},
405-
{
406-
'value': 2,
407-
'done': false
408-
},
409-
{
410-
'value': 3,
411-
'done': false
412-
},
413-
{
414-
'value': 4,
415-
'done': false
416-
},
417-
{
418-
'done': true
419-
}
420-
];
421-
422-
it = iterPush( createIterator( values ) );
423-
t.equal( it.next.length, 0, 'has zero arity' );
424-
425-
actual = [];
426-
for ( i = 0; i < expected.length; i++ ) {
427-
actual.push( it.next() );
428-
}
429-
t.deepEqual( actual, expected, 'returns expected values' );
430-
t.end();
431-
});
432-
433312
tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) {
434313
var it;
435314
var r;

0 commit comments

Comments
 (0)