Skip to content

Commit 62abdc6

Browse files
committed
add: examples in readme
1 parent d9c9bca commit 62abdc6

File tree

1 file changed

+49
-1
lines changed

1 file changed

+49
-1
lines changed

README.md

Lines changed: 49 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
[![Build Status](https://travis-ci.org/qiao/immutable-sequence.js.svg?branch=master)](https://travis-ci.org/qiao/immutable-sequence.js)
44

5-
Implementation of Immutable Sequence in JavaScript, based on [Finger Tree](https://github.com/qiao/fingertree.js).
5+
High performance implementation of Immutable Sequence in JavaScript, based on [Finger Tree](https://github.com/qiao/fingertree.js).
66

77
## Installation (Node.js)
88

@@ -19,6 +19,54 @@ var ImmutableSequence = require('immutable-sequence');
1919
## Quick Examples
2020

2121
```javascript
22+
// Empty sequence
23+
var seq = ImmutableSequence.fromArray([]);
24+
seq.isEmpty(); // true
25+
seq.size(); // 0
26+
seq.peekFirst(); // null
27+
seq.peekLast(); // null
28+
seq.get(0); // throws error
29+
30+
// Nonempty sequence
31+
seq = ImmutableSequence.fromArray(['a', 'b', 'c']);
32+
seq.isEmpty(); // false
33+
seq.size(); // 3
34+
seq.peekFirst(); // 'a'
35+
seq.peekLast(); // 'b'
36+
seq.get(0); // 'a'
37+
seq.get(2); // 'c'
38+
39+
// Add and remove
40+
var seq2 = seq.addFirst('1');
41+
seq2.size(); // 4
42+
seq2.peekFirst(); // '1'
43+
44+
var seq3 = seq.removeFirst();
45+
seq3.size(); // 2
46+
seq3.peekFirst(); // 'b'
47+
48+
var seq4 = seq.addLast('d');
49+
seq4.peekLast(); // 'd'
50+
51+
var seq5 = seq.removeLast();
52+
seq5.peekLast(); // 'b'
53+
54+
// Concatenate two sequences
55+
var a = ImmutableSequence.fromArray([1, 2, 3]);
56+
var b = ImmutableSequence.fromArray([4, 5, 6]);
57+
var c = a.concat(b);
58+
c.size(); // 6
59+
c.peekFirst(); // 1
60+
c.peekLast(); // 6
61+
62+
// Split into two sequences at given index
63+
seq = ImmutableSequence.fromArray(['a', 'b', 'c']);
64+
var split = seq.splitAt(1);
65+
split[0].size(); // 1
66+
split[0].peekFirst(); // 'a'
67+
split[1].size(); // 2
68+
split[1].peekFirst(); // 'b'
69+
split[1].peekLast(); // 'c'
2270
```
2371

2472

0 commit comments

Comments
 (0)