Skip to content

Commit

Permalink
chore: remove deprecated BytesList in readDelim
Browse files Browse the repository at this point in the history
Signed-off-by: Oscar <[email protected]>
  • Loading branch information
0scvr committed Oct 26, 2023
1 parent 7a0a7bb commit 37f501a
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions io/read_delim.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// This module is browser compatible.

import { BytesList } from "../bytes/bytes_list.ts";
import type { Reader } from "../types.d.ts";

/** Generate longest proper prefix which is also suffix array. */
Expand Down Expand Up @@ -37,7 +36,7 @@ export async function* readDelim(
// Avoid unicode problems
const delimLen = delim.length;
const delimLPS = createLPS(delim);
const chunks = new BytesList();
let chunks = new Uint8Array();
const bufSize = Math.max(1024, delimLen + 1);

// Modified KMP
Expand All @@ -48,15 +47,15 @@ export async function* readDelim(
const result = await reader.read(inspectArr);
if (result === null) {
// Yield last chunk.
yield chunks.concat();
yield chunks;
return;
} else if (result < 0) {
// Discard all remaining and silently fail.
return;
}
chunks.add(inspectArr, 0, result);
chunks = new Uint8Array([...chunks, ...inspectArr.slice(0, result)]);
let localIndex = 0;
while (inspectIndex < chunks.size()) {
while (inspectIndex < chunks.length) {
if (inspectArr[localIndex] === delim[matchIndex]) {
inspectIndex++;
localIndex++;
Expand All @@ -67,7 +66,7 @@ export async function* readDelim(
const readyBytes = chunks.slice(0, matchEnd);
yield readyBytes;
// Reset match, different from KMP.
chunks.shift(inspectIndex);
chunks = chunks.slice(inspectIndex);
inspectIndex = 0;
matchIndex = 0;
}
Expand Down

0 comments on commit 37f501a

Please sign in to comment.