/**
 * Pure NDJSON line splitter — zero I/O.
 *
 * Splits a buffer on newlines, keeping an incomplete trailing line in `rest`.
 * Does NOT parse JSON — that is the caller's job.
 */

export interface SplitResult {
  readonly lines: readonly string[];
  readonly rest: string;
}

export function splitNdjsonLines(buffer: string): SplitResult {
  const parts = buffer.split("\n");
  const rest = parts[parts.length - 1] ?? "";
  const lines = parts.slice(0, -1).filter((l) => l.length > 0);
  return { lines, rest };
}
