getChunk method
Fetches a single chunk by id. Returns null if not found.
Implementation
Future<DocumentChunk?> getChunk(int chunkId) async {
_ensureOpen();
final out = malloc<VDBChunk>();
try {
final ok = bindings.getChunk(_db, chunkId, out);
if (ok == 0) return null;
final c = out.ref;
final chunk = DocumentChunk(
chunkId: c.chunkId,
text: c.text == nullptr ? '' : c.text.toDartString(),
subject: subjectName(c.subject),
grade: c.grade,
chapter: c.chapter,
page: c.page,
language: languageName(c.language),
bookId: c.bookId,
tokenCount: c.tokenCount,
);
bindings.chunkFree(out);
return chunk;
} finally {
malloc.free(out);
}
}