Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit b1d0e11

Browse filesBrowse files
committed
Merge branch 'slice_iterator_bug_#394' of https://github.com/ellbee/immutable-js into ellbee-slice_iterator_bug_#394
Conflicts: dist/immutable.min.js
2 parents 82da3c5 + 6b2b75b commit b1d0e11
Copy full SHA for b1d0e11

File tree

Expand file treeCollapse file tree

4 files changed

+21
-3
lines changed
Filter options
Expand file treeCollapse file tree

4 files changed

+21
-3
lines changed

‎__tests__/slice.ts

Copy file name to clipboardExpand all lines: __tests__/slice.ts
+18Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,24 @@ describe('slice', () => {
9797
expect(v.slice(31).toList().toArray()).toEqual(a.slice(31));
9898
})
9999

100+
it('can create an iterator', () => {
101+
var seq = Seq([0,1,2,3,4,5]);
102+
var iterFront = seq.slice(0,2).values();
103+
expect(iterFront.next()).toEqual({value: 0, done: false});
104+
expect(iterFront.next()).toEqual({value: 1, done: false});
105+
expect(iterFront.next()).toEqual({value: undefined, done: true});
106+
107+
var iterMiddle = seq.slice(2,4).values();
108+
expect(iterMiddle.next()).toEqual({value: 2, done: false});
109+
expect(iterMiddle.next()).toEqual({value: 3, done: false});
110+
expect(iterMiddle.next()).toEqual({value: undefined, done: true});
111+
112+
var iterTail = seq.slice(4,123456).values();
113+
expect(iterTail.next()).toEqual({value: 4, done: false});
114+
expect(iterTail.next()).toEqual({value: 5, done: false});
115+
expect(iterTail.next()).toEqual({value: undefined, done: true});
116+
})
117+
100118
check.it('works like Array.prototype.slice',
101119
[gen.int, gen.array(gen.oneOf([gen.int, gen.undefined]), 0, 3)],
102120
(valuesLen, args) => {

‎dist/immutable.js

Copy file name to clipboardExpand all lines: dist/immutable.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1350,7 +1350,7 @@
13501350
var skipped = 0;
13511351
var iterations = 0;
13521352
return new src_Iterator__Iterator(function() {
1353-
while (skipped++ !== resolvedBegin) {
1353+
while (skipped++ < resolvedBegin) {
13541354
iterator.next();
13551355
}
13561356
if (++iterations > sliceSize) {

‎dist/immutable.min.js

Copy file name to clipboardExpand all lines: dist/immutable.min.js
+1-1Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/Operations.js

Copy file name to clipboardExpand all lines: src/Operations.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ export function sliceFactory(iterable, begin, end, useKeys) {
433433
var skipped = 0;
434434
var iterations = 0;
435435
return new Iterator(() => {
436-
while (skipped++ !== resolvedBegin) {
436+
while (skipped++ < resolvedBegin) {
437437
iterator.next();
438438
}
439439
if (++iterations > sliceSize) {

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.