Skip to content

Commit 7352588

Browse files
committed
feat: read returns undefined if offset is not in range.
1 parent 475be09 commit 7352588

File tree

2 files changed

+5
-11
lines changed

2 files changed

+5
-11
lines changed

src/dynamicBuffer.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -538,16 +538,14 @@ export class DynamicBuffer {
538538
* // 72
539539
* ```
540540
*
541-
* @param offset Number of bytes to skip before starting to read, and the offset must satisfy
542-
* between 0 and `this.length`, default `0`.
541+
* @param offset Number of bytes to skip before starting to read, default `0`.
543542
* @returns The byte at the position in the buffer.
544543
*/
545-
read(offset: number = 0): number {
544+
read(offset: number = 0): number | undefined {
546545
if (!this.buffer || offset < 0 || offset >= this.used) {
547-
rangeCheck('offset', offset, 0, this.used - 1);
546+
return undefined;
548547
}
549548

550-
// @ts-ignore
551549
return this.buffer[offset];
552550
}
553551

test/read.spec.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,19 +29,15 @@ describe('Read tests', () => {
2929

3030
buffer.append('Hello world');
3131

32-
assert.throws(() => {
33-
buffer.read(-1);
34-
});
32+
assert.equal(buffer.read(-1), undefined);
3533
});
3634

3735
it('Test read with a offset larger than buffer length', () => {
3836
const buffer = new DynamicBuffer();
3937

4038
buffer.append('Hello world');
4139

42-
assert.throws(() => {
43-
buffer.read(buffer.length + 1);
44-
});
40+
assert.equal(buffer.read(buffer.length + 1), undefined);
4541
});
4642
});
4743

0 commit comments

Comments
 (0)