Skip to content

Commit 5fe6688

Browse files
committed
Add optional boolean parameter for setLittleEndian() and setBigEndian()
1 parent 5aad62c commit 5fe6688

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

io/bytestream.js

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,20 @@ export class ByteStream {
7171
return this.littleEndian_;
7272
}
7373

74-
/** Big-Endian is sometimes called Motorola-style. */
75-
setBigEndian() {
76-
this.littleEndian_ = false;
74+
/**
75+
* Big-Endian is sometimes called Motorola-style.
76+
* @param {boolean=} The value to set. If not present, the stream is set to big-endian.
77+
*/
78+
setBigEndian(val = true) {
79+
this.littleEndian_ = !val;
7780
}
7881

79-
/** Little-Endian is sometimes called Intel-style. */
80-
setLittleEndian() {
81-
this.littleEndian_ = true;
82+
/**
83+
* Little-Endian is sometimes called Intel-style.
84+
* @param {boolean=} The value to set. If not present, the stream to little-endian.
85+
*/
86+
setLittleEndian(val = true) {
87+
this.littleEndian_ = val;
8288
}
8389

8490
/**

tests/io-bytestream.spec.js

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,23 @@ describe('bitjs.io.ByteStream', () => {
7878
// Stream now has 0, 1, 0, 1.
7979
const stream = new ByteStream(array.buffer);
8080
stream.setBigEndian();
81-
expect(stream.readNumber(2)).equals(1);
81+
expect(stream.peekNumber(2)).equals(1);
82+
stream.setBigEndian(false);
83+
expect(stream.peekNumber(2)).equals(256);
84+
stream.setBigEndian(true);
85+
expect(stream.peekNumber(2)).equals(1);
86+
87+
stream.skip(2);
88+
8289
stream.setLittleEndian();
83-
expect(stream.readNumber(2)).equals(256);
90+
expect(stream.peekNumber(2)).equals(256);
91+
stream.setLittleEndian(false);
92+
expect(stream.peekNumber(2)).equals(1);
93+
stream.setLittleEndian(true);
94+
expect(stream.peekNumber(2)).equals(256);
95+
96+
stream.skip(2);
97+
8498
expect(() => stream.readNumber(1)).to.throw();
8599
});
86100

0 commit comments

Comments
 (0)