Skip to content

Commit 8093c01

Browse files
committed
Refactor to ignore iterator return values
1 parent 064b298 commit 8093c01

File tree

2 files changed

+2
-265
lines changed

2 files changed

+2
-265
lines changed

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

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ var setReadOnly = require( '@stdlib/utils/define-nonenumerable-read-only-propert
2424
var isFunction = require( '@stdlib/assert/is-function' );
2525
var isPositiveInteger = require( '@stdlib/assert/is-positive-integer' ).isPrimitive;
2626
var isIteratorLike = require( '@stdlib/assert/is-iterator-like' );
27-
var hasOwnProp = require( '@stdlib/assert/has-own-property' );
2827
var iteratorSymbol = require( '@stdlib/symbol/iterator' );
2928

3029

@@ -94,7 +93,6 @@ function iterDedupe( iterator, limit ) {
9493
* @returns {Object} iterator protocol-compliant object
9594
*/
9695
function next() {
97-
var out;
9896
var v;
9997
if ( FLG ) {
10098
return {
@@ -104,12 +102,7 @@ function iterDedupe( iterator, limit ) {
104102
v = iterator.next();
105103
if ( v.done ) {
106104
FLG = true;
107-
out = {};
108-
if ( hasOwnProp( v, 'value' ) && v.value !== prev ) {
109-
out.value = v.value;
110-
}
111-
out.done = true;
112-
return out;
105+
return v;
113106
}
114107
if ( v.value === prev ) {
115108
count += 1;
@@ -119,12 +112,7 @@ function iterDedupe( iterator, limit ) {
119112
v = iterator.next();
120113
if ( v.done ) {
121114
FLG = true;
122-
out = {};
123-
if ( hasOwnProp( v, 'value' ) && v.value !== prev ) {
124-
out.value = v.value;
125-
}
126-
out.done = true;
127-
return out;
115+
return v;
128116
}
129117
}
130118
prev = v.value;

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

Lines changed: 0 additions & 251 deletions
Original file line numberDiff line numberDiff line change
@@ -29,37 +29,6 @@ var iterCounter = require( '@stdlib/iter/counter' );
2929
var iterDedupe = 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 ) {
@@ -379,226 +348,6 @@ tape( 'the function supports specifying the number of allowed consecutive duplic
379348
t.end();
380349
});
381350

382-
tape( 'the function returns an iterator protocol-compliant object which removes duplicated values (value+done)', function test( t ) {
383-
var expected;
384-
var values;
385-
var actual;
386-
var it;
387-
var i;
388-
389-
values = [ 1, 1, 2, 3, 3, 4, 4, 4 ];
390-
expected = [
391-
{
392-
'value': 1,
393-
'done': false
394-
},
395-
{
396-
'value': 2,
397-
'done': false
398-
},
399-
{
400-
'value': 3,
401-
'done': false
402-
},
403-
{
404-
'value': 4,
405-
'done': false
406-
},
407-
{
408-
'done': true
409-
}
410-
];
411-
412-
it = iterDedupe( createIterator( values ) );
413-
t.equal( it.next.length, 0, 'has zero arity' );
414-
415-
actual = [];
416-
for ( i = 0; i < expected.length; i++ ) {
417-
actual.push( it.next() );
418-
}
419-
t.deepEqual( actual, expected, 'returns expected values' );
420-
t.end();
421-
});
422-
423-
tape( 'the function returns an iterator protocol-compliant object which removes duplicated values (value+done; last unique)', function test( t ) {
424-
var expected;
425-
var values;
426-
var actual;
427-
var it;
428-
var i;
429-
430-
values = [ 1, 1, 2, 3, 3, 4 ];
431-
expected = [
432-
{
433-
'value': 1,
434-
'done': false
435-
},
436-
{
437-
'value': 2,
438-
'done': false
439-
},
440-
{
441-
'value': 3,
442-
'done': false
443-
},
444-
{
445-
'value': 4,
446-
'done': true
447-
}
448-
];
449-
450-
it = iterDedupe( createIterator( values ) );
451-
t.equal( it.next.length, 0, 'has zero arity' );
452-
453-
actual = [];
454-
for ( i = 0; i < expected.length; i++ ) {
455-
actual.push( it.next() );
456-
}
457-
t.deepEqual( actual, expected, 'returns expected values' );
458-
t.end();
459-
});
460-
461-
tape( 'the function returns an iterator protocol-compliant object which removes duplicated values (value+done; last two unique)', function test( t ) {
462-
var expected;
463-
var values;
464-
var actual;
465-
var it;
466-
var i;
467-
468-
values = [ 1, 1, 2, 3, 3, 4, 5 ];
469-
expected = [
470-
{
471-
'value': 1,
472-
'done': false
473-
},
474-
{
475-
'value': 2,
476-
'done': false
477-
},
478-
{
479-
'value': 3,
480-
'done': false
481-
},
482-
{
483-
'value': 4,
484-
'done': false
485-
},
486-
{
487-
'value': 5,
488-
'done': true
489-
}
490-
];
491-
492-
it = iterDedupe( createIterator( values ) );
493-
t.equal( it.next.length, 0, 'has zero arity' );
494-
495-
actual = [];
496-
for ( i = 0; i < expected.length; i++ ) {
497-
actual.push( it.next() );
498-
}
499-
t.deepEqual( actual, expected, 'returns expected values' );
500-
t.end();
501-
});
502-
503-
tape( 'the function supports specifying the number of allowed consecutive duplicated values (value+done)', function test( t ) {
504-
var expected;
505-
var values;
506-
var actual;
507-
var it;
508-
var i;
509-
510-
values = [ 1, 1, 2, 3, 3, 3, 3, 4, 4, 4 ];
511-
expected = [
512-
{
513-
'value': 1,
514-
'done': false
515-
},
516-
{
517-
'value': 1,
518-
'done': false
519-
},
520-
{
521-
'value': 2,
522-
'done': false
523-
},
524-
{
525-
'value': 3,
526-
'done': false
527-
},
528-
{
529-
'value': 3,
530-
'done': false
531-
},
532-
{
533-
'value': 4,
534-
'done': false
535-
},
536-
{
537-
'value': 4,
538-
'done': false
539-
},
540-
{
541-
'done': true
542-
}
543-
];
544-
545-
it = iterDedupe( createIterator( values ), 2 );
546-
t.equal( it.next.length, 0, 'has zero arity' );
547-
548-
actual = [];
549-
for ( i = 0; i < expected.length; i++ ) {
550-
actual.push( it.next() );
551-
}
552-
t.deepEqual( actual, expected, 'returns expected values' );
553-
t.end();
554-
});
555-
556-
tape( 'the function supports specifying the number of allowed consecutive duplicated values (value+done; last unique)', function test( t ) {
557-
var expected;
558-
var values;
559-
var actual;
560-
var it;
561-
var i;
562-
563-
values = [ 1, 1, 2, 3, 3, 3, 3, 4 ];
564-
expected = [
565-
{
566-
'value': 1,
567-
'done': false
568-
},
569-
{
570-
'value': 1,
571-
'done': false
572-
},
573-
{
574-
'value': 2,
575-
'done': false
576-
},
577-
{
578-
'value': 3,
579-
'done': false
580-
},
581-
{
582-
'value': 3,
583-
'done': false
584-
},
585-
{
586-
'value': 4,
587-
'done': true
588-
}
589-
];
590-
591-
it = iterDedupe( createIterator( values ), 2 );
592-
t.equal( it.next.length, 0, 'has zero arity' );
593-
594-
actual = [];
595-
for ( i = 0; i < expected.length; i++ ) {
596-
actual.push( it.next() );
597-
}
598-
t.deepEqual( actual, expected, 'returns expected values' );
599-
t.end();
600-
});
601-
602351
tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) {
603352
var it;
604353
var r;

0 commit comments

Comments
 (0)