recursive static method

Future<List<SemanticChunk>> recursive(
  1. String text, {
  2. int maxChars = kDefaultMaxChunkChars,
  3. int overlapChars = kDefaultOverlapChars,
})

Chunk text using standard recursive character splitter.

Splits by paragraphs, then sentences, then words to fit within maxChars.

text - The text to split. maxChars - Maximum characters per chunk (default: kDefaultMaxChunkChars). overlapChars - Overlap between chunks for context continuity (default: kDefaultOverlapChars).

Implementation

static Future<List<chunker.SemanticChunk>> recursive(
  String text, {
  int maxChars = kDefaultMaxChunkChars,
  int overlapChars = kDefaultOverlapChars,
}) async {
  final normalizedMaxChars = normalizeMaxChunkChars(
    maxChars,
    context: 'TextChunker.recursive',
  );
  final normalizedOverlapChars = normalizeOverlapChars(
    overlapChars,
    context: 'TextChunker.recursive',
  );
  return chunker.semanticChunkWithOverlap(
    text: text,
    maxChars: normalizedMaxChars,
    overlapChars: normalizedOverlapChars,
  );
}