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 28, 2023
1 parent 7a0a7bb commit aa4a27e
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions io/read_delim.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license.
// This module is browser compatible.

import { BytesList } from "../bytes/bytes_list.ts";
import { concat } from "https://deno.land/std@$STD_VERSION/bytes/concat.ts";
import type { Reader } from "../types.d.ts";

/** Generate longest proper prefix which is also suffix array. */
Expand Down Expand Up @@ -37,7 +37,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 +48,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 = concat(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 +67,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 aa4a27e

Please sign in to comment.