Salam Aleykoum, I've contributed to issue #6 (Custom Data Schema Checks).
I added runtime schema validation for all search() inputs via a new src/utils/validation.ts module:
validateVerseInput() — validates a single verse record (gid, uthmani, standard)
validateQuranData() — validates the full dataset (empty array, duplicate gids)
validateMorphologyMap() — validates Map structure and entry shape
validateWordMap() — validates object structure and value types
Validation is non-breaking: invalid inputs trigger console.warn without throwing, so existing behavior is preserved. All functions are exported for library consumers.
13 new tests added — 46/46 passing.
Pull Request: https://github.com/adelpro/quran-search-engine/pull/80