Skip to content

Commit b120526

Browse files
committed
Refactor to ignore iterator return values
1 parent 8970899 commit b120526

2 files changed

Lines changed: 1 addition & 160 deletions

File tree

lib/node_modules/@stdlib/iter/unique/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

@@ -111,7 +110,6 @@ function iterUnique( iterator ) {
111110
* @returns {Object} iterator protocol-compliant object
112111
*/
113112
function next() {
114-
var out;
115113
var v;
116114
if ( FLG ) {
117115
return {
@@ -122,12 +120,7 @@ function iterUnique( iterator ) {
122120
v = iterator.next();
123121
if ( v.done ) {
124122
FLG = true;
125-
out = {};
126-
if ( hasOwnProp( v, 'value' ) && contains( hash, v.value ) === false ) {
127-
out.value = v.value;
128-
}
129-
out.done = true;
130-
return out;
123+
return v;
131124
}
132125
v = v.value;
133126
if ( contains( hash, v ) === false ) {

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

Lines changed: 0 additions & 152 deletions
Original file line numberDiff line numberDiff line change
@@ -28,37 +28,6 @@ var iteratorSymbol = require( '@stdlib/symbol/iterator' );
2828
var iterUnique = require( './../lib' );
2929

3030

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

6433
tape( 'main export is a function', function test( t ) {
@@ -218,127 +187,6 @@ tape( 'the function returns an iterator which returns unique values', function t
218187
t.end();
219188
});
220189

221-
tape( 'the function returns an iterator protocol-compliant object (value+done)', function test( t ) {
222-
var expected;
223-
var values;
224-
var actual;
225-
var it;
226-
var i;
227-
228-
values = [ 4, 2, 1, 3 ];
229-
expected = [
230-
{
231-
'value': 4,
232-
'done': false
233-
},
234-
{
235-
'value': 2,
236-
'done': false
237-
},
238-
{
239-
'value': 1,
240-
'done': false
241-
},
242-
{
243-
'value': 3,
244-
'done': true
245-
}
246-
];
247-
248-
it = iterUnique( createIterator( values ) );
249-
t.equal( it.next.length, 0, 'has zero arity' );
250-
251-
actual = [];
252-
for ( i = 0; i < values.length; i++ ) {
253-
actual.push( it.next() );
254-
}
255-
t.deepEqual( actual, expected, 'returns expected values' );
256-
t.end();
257-
});
258-
259-
tape( 'the function returns an iterator which returns unique values (value+done)', function test( t ) {
260-
var expected;
261-
var values;
262-
var actual;
263-
var it;
264-
var i;
265-
266-
values = [ 2, 1, 2, 1, 1, 4, 4, 4, 3, 2, 1 ];
267-
expected = [
268-
{
269-
'value': 2,
270-
'done': false
271-
},
272-
{
273-
'value': 1,
274-
'done': false
275-
},
276-
{
277-
'value': 4,
278-
'done': false
279-
},
280-
{
281-
'value': 3,
282-
'done': false
283-
},
284-
{
285-
'done': true
286-
}
287-
];
288-
289-
it = iterUnique( createIterator( values ) );
290-
t.equal( it.next.length, 0, 'has zero arity' );
291-
292-
actual = [];
293-
for ( i = 0; i < expected.length; i++ ) {
294-
actual.push( it.next() );
295-
}
296-
t.deepEqual( actual, expected, 'returns expected values' );
297-
t.end();
298-
});
299-
300-
tape( 'the function returns an iterator which returns unique values (value+done)', function test( t ) {
301-
var expected;
302-
var values;
303-
var actual;
304-
var it;
305-
var i;
306-
307-
values = [ 2, 1, 2, 1, 1, 4, 4, 4, 3, 2, 1, 5 ];
308-
expected = [
309-
{
310-
'value': 2,
311-
'done': false
312-
},
313-
{
314-
'value': 1,
315-
'done': false
316-
},
317-
{
318-
'value': 4,
319-
'done': false
320-
},
321-
{
322-
'value': 3,
323-
'done': false
324-
},
325-
{
326-
'value': 5,
327-
'done': true
328-
}
329-
];
330-
331-
it = iterUnique( createIterator( values ) );
332-
t.equal( it.next.length, 0, 'has zero arity' );
333-
334-
actual = [];
335-
for ( i = 0; i < expected.length; i++ ) {
336-
actual.push( it.next() );
337-
}
338-
t.deepEqual( actual, expected, 'returns expected values' );
339-
t.end();
340-
});
341-
342190
tape( 'the returned iterator has a `return` method for closing an iterator (no argument)', function test( t ) {
343191
var it;
344192
var r;

0 commit comments

Comments
 (0)