File tree 3 files changed +12
-102
lines changed
lib/node_modules/@stdlib/iter/every
3 files changed +12
-102
lines changed Original file line number Diff line number Diff line change @@ -38,23 +38,27 @@ function createIterator( arr ) {
38
38
39
39
it = { } ;
40
40
it . next = next ;
41
+ it . reset = reset ;
41
42
42
43
return it ;
43
44
44
45
function next ( ) {
45
46
i += 1 ;
46
- if ( i < len - 1 ) {
47
+ if ( i < len ) {
47
48
return {
48
49
'value' : arr [ i ] ,
49
50
'done' : false
50
51
} ;
51
52
}
52
53
i = - 1 ; // reset index
53
54
return {
54
- 'value' : arr [ len - 1 ] ,
55
55
'done' : true
56
56
} ;
57
57
}
58
+
59
+ function reset ( ) {
60
+ i = - 1 ;
61
+ }
58
62
}
59
63
60
64
@@ -73,6 +77,7 @@ bench( pkg, function benchmark( b ) {
73
77
if ( ! isBoolean ( bool ) ) {
74
78
b . fail ( 'should return a boolean' ) ;
75
79
}
80
+ arr . reset ( ) ;
76
81
}
77
82
b . toc ( ) ;
78
83
if ( ! isBoolean ( bool ) ) {
@@ -104,6 +109,7 @@ bench( pkg+'::loop', function benchmark( b ) {
104
109
if ( ! isBoolean ( bool ) ) {
105
110
b . fail ( 'should be a boolean' ) ;
106
111
}
112
+ arr . reset ( ) ;
107
113
}
108
114
b . toc ( ) ;
109
115
if ( ! isBoolean ( bool ) ) {
Original file line number Diff line number Diff line change 21
21
// MODULES //
22
22
23
23
var isIteratorLike = require ( '@stdlib/assert/is-iterator-like' ) ;
24
- var hasOwnProp = require ( '@stdlib/assert/has-own-property' ) ;
25
24
26
25
27
26
// MAIN //
@@ -48,20 +47,13 @@ function iterEvery( iterator ) {
48
47
}
49
48
while ( true ) {
50
49
v = iterator . next ( ) ;
51
- if ( v . value ) {
52
- if ( v . done ) {
53
- break ;
54
- }
55
- } else if ( v . done ) {
56
- if ( hasOwnProp ( v , 'value' ) ) {
57
- return false ;
58
- }
59
- break ;
60
- } else {
50
+ if ( v . done ) {
51
+ return true ;
52
+ }
53
+ if ( ! v . value ) {
61
54
return false ;
62
55
}
63
56
}
64
- return true ;
65
57
}
66
58
67
59
Original file line number Diff line number Diff line change @@ -84,50 +84,6 @@ tape( 'the function returns `true` if all iterated values are truthy', function
84
84
t . end ( ) ;
85
85
} ) ;
86
86
87
- tape ( 'the function returns `true` if all iterated values are truthy (value+done)' , function test ( t ) {
88
- var bool ;
89
- var arr ;
90
-
91
- arr = createIterator ( [ 1 , 1 , 1 , 1 ] ) ;
92
- bool = iterEvery ( arr ) ;
93
-
94
- t . strictEqual ( bool , true , 'returns true' ) ;
95
- t . end ( ) ;
96
-
97
- function createIterator ( arr ) {
98
- var len ;
99
- var it ;
100
- var i ;
101
-
102
- len = arr . length ;
103
- i = - 1 ;
104
-
105
- it = { } ;
106
- it . next = next ;
107
-
108
- return it ;
109
-
110
- function next ( ) {
111
- i += 1 ;
112
- if ( i < len - 1 ) {
113
- return {
114
- 'value' : arr [ i ] ,
115
- 'done' : false
116
- } ;
117
- }
118
- if ( i === len - 1 ) {
119
- return {
120
- 'value' : arr [ i ] ,
121
- 'done' : true
122
- } ;
123
- }
124
- return {
125
- 'done' : true
126
- } ;
127
- }
128
- }
129
- } ) ;
130
-
131
87
tape ( 'the function returns `false` if at least one iterated value is falsy' , function test ( t ) {
132
88
var bool ;
133
89
var arr ;
@@ -138,47 +94,3 @@ tape( 'the function returns `false` if at least one iterated value is falsy', fu
138
94
t . strictEqual ( bool , false , 'returns false' ) ;
139
95
t . end ( ) ;
140
96
} ) ;
141
-
142
- tape ( 'the function returns `false` if at least one iterated value is falsy (value+done)' , function test ( t ) {
143
- var bool ;
144
- var arr ;
145
-
146
- arr = createIterator ( [ 1 , 1 , 1 , 0 ] ) ;
147
- bool = iterEvery ( arr ) ;
148
-
149
- t . strictEqual ( bool , false , 'returns false' ) ;
150
- t . end ( ) ;
151
-
152
- function createIterator ( arr ) {
153
- var len ;
154
- var it ;
155
- var i ;
156
-
157
- len = arr . length ;
158
- i = - 1 ;
159
-
160
- it = { } ;
161
- it . next = next ;
162
-
163
- return it ;
164
-
165
- function next ( ) {
166
- i += 1 ;
167
- if ( i < len - 1 ) {
168
- return {
169
- 'value' : arr [ i ] ,
170
- 'done' : false
171
- } ;
172
- }
173
- if ( i === len - 1 ) {
174
- return {
175
- 'value' : arr [ i ] ,
176
- 'done' : true
177
- } ;
178
- }
179
- return {
180
- 'done' : true
181
- } ;
182
- }
183
- }
184
- } ) ;
You can’t perform that action at this time.
0 commit comments