Skip to content

Commit 15ac681

Browse files
committed
Refactor to ignore iterator return values
1 parent dce60a1 commit 15ac681

File tree

2 files changed

+2
-217
lines changed

2 files changed

+2
-217
lines changed

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

Lines changed: 2 additions & 14 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
var noop = require( '@stdlib/utils/noop' );
2928

@@ -87,7 +86,6 @@ function iterShift( iterator, clbk, thisArg ) {
8786
* @returns {Object} iterator protocol-compliant object
8887
*/
8988
function next() {
90-
var out;
9189
var v;
9290
if ( FLG ) {
9391
return {
@@ -99,24 +97,14 @@ function iterShift( iterator, clbk, thisArg ) {
9997
i += 1;
10098
if ( v.done ) {
10199
FLG = true;
102-
if ( hasOwnProp( v, 'value' ) ) {
103-
cb.call( thisArg, v.value );
104-
}
105-
return {
106-
'done': true
107-
};
100+
return v;
108101
}
109102
cb.call( thisArg, v.value );
110103
return next();
111104
}
112105
if ( v.done ) {
113106
FLG = true;
114-
out = {};
115-
if ( hasOwnProp( v, 'value' ) ) {
116-
out.value = v.value;
117-
}
118-
out.done = true;
119-
return out;
107+
return v;
120108
}
121109
return {
122110
'value': v.value,

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

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

3232

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

6635
tape( 'main export is a function', function test( t ) {
@@ -360,133 +329,6 @@ tape( 'the function returns an iterator protocol-compliant object (callback)', f
360329
}
361330
});
362331

363-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
364-
var expected;
365-
var values;
366-
var actual;
367-
var it;
368-
var i;
369-
370-
values = [ 1, 2, 3, 4 ];
371-
expected = [
372-
{
373-
'value': 2,
374-
'done': false
375-
},
376-
{
377-
'value': 3,
378-
'done': false
379-
},
380-
{
381-
'value': 4,
382-
'done': true
383-
}
384-
];
385-
386-
it = iterShift( createIterator( values ) );
387-
t.equal( it.next.length, 0, 'has zero arity' );
388-
389-
actual = [];
390-
for ( i = 0; i < expected.length; i++ ) {
391-
actual.push( it.next() );
392-
}
393-
t.deepEqual( actual, expected, 'returns expected values' );
394-
t.end();
395-
});
396-
397-
tape( 'the function returns an iterator protocol-compliant object (value+done; single element iterator)', function test( t ) {
398-
var expected;
399-
var values;
400-
var actual;
401-
var it;
402-
var i;
403-
404-
values = [ 1 ];
405-
expected = [
406-
{
407-
'done': true
408-
}
409-
];
410-
411-
it = iterShift( createIterator( values ) );
412-
t.equal( it.next.length, 0, 'has zero arity' );
413-
414-
actual = [];
415-
for ( i = 0; i < expected.length; i++ ) {
416-
actual.push( it.next() );
417-
}
418-
t.deepEqual( actual, expected, 'returns expected values' );
419-
t.end();
420-
});
421-
422-
tape( 'the function returns an iterator protocol-compliant object (value+done; two element iterator)', function test( t ) {
423-
var expected;
424-
var values;
425-
var actual;
426-
var it;
427-
var i;
428-
429-
values = [ 1, 2 ];
430-
expected = [
431-
{
432-
'value': 2,
433-
'done': true
434-
}
435-
];
436-
437-
it = iterShift( createIterator( values ) );
438-
t.equal( it.next.length, 0, 'has zero arity' );
439-
440-
actual = [];
441-
for ( i = 0; i < expected.length; i++ ) {
442-
actual.push( it.next() );
443-
}
444-
t.deepEqual( actual, expected, 'returns expected values' );
445-
t.end();
446-
});
447-
448-
tape( 'the function returns an iterator protocol-compliant object (value+done; callback)', function test( t ) {
449-
var expected;
450-
var values;
451-
var actual;
452-
var FLG;
453-
var it;
454-
var i;
455-
456-
values = [ 1, 2, 3, 4 ];
457-
expected = [
458-
{
459-
'value': 2,
460-
'done': false
461-
},
462-
{
463-
'value': 3,
464-
'done': false
465-
},
466-
{
467-
'value': 4,
468-
'done': true
469-
}
470-
];
471-
472-
it = iterShift( createIterator( values ), clbk );
473-
t.equal( it.next.length, 0, 'has zero arity' );
474-
475-
actual = [];
476-
for ( i = 0; i < expected.length; i++ ) {
477-
actual.push( it.next() );
478-
}
479-
t.deepEqual( actual, expected, 'returns expected values' );
480-
481-
t.equal( FLG, true, 'returns expected value' );
482-
t.end();
483-
484-
function clbk( v ) {
485-
FLG = true;
486-
t.equal( v, values[ 0 ], 'returns expected value' );
487-
}
488-
});
489-
490332
tape( 'the function supports specifying the callback execution context', function test( t ) {
491333
var expected;
492334
var values;
@@ -535,51 +377,6 @@ tape( 'the function supports specifying the callback execution context', functio
535377
}
536378
});
537379

538-
tape( 'the function supports specifying the callback execution context (value+done)', function test( t ) {
539-
var expected;
540-
var values;
541-
var actual;
542-
var ctx;
543-
var it;
544-
var i;
545-
546-
values = [ 1, 2, 3, 4 ];
547-
expected = [
548-
{
549-
'value': 2,
550-
'done': false
551-
},
552-
{
553-
'value': 3,
554-
'done': false
555-
},
556-
{
557-
'value': 4,
558-
'done': true
559-
}
560-
];
561-
562-
ctx = {
563-
'FLG': false
564-
};
565-
it = iterShift( createIterator( values ), clbk, ctx );
566-
t.equal( it.next.length, 0, 'has zero arity' );
567-
568-
actual = [];
569-
for ( i = 0; i < expected.length; i++ ) {
570-
actual.push( it.next() );
571-
}
572-
t.deepEqual( actual, expected, 'returns expected values' );
573-
574-
t.equal( ctx.FLG, true, 'returns expected value' );
575-
t.end();
576-
577-
function clbk( v ) {
578-
this.FLG = true; // eslint-disable-line no-invalid-this
579-
t.equal( v, values[ 0 ], 'returns expected value' );
580-
}
581-
});
582-
583380
tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) {
584381
var it;
585382
var r;

0 commit comments

Comments
 (0)