@kmaslesa/tajweed
Version:
Qur'an ayahs tajweed
48 lines (42 loc) • 1.1 kB
text/typescript
import { Tajweed } from 'tajweed-ts';
const ayahs = require('./data.json');
// Synchronous version
const getAllAyahs = () => {
return ayahs;
};
const getAyahByIndex = (index: number, withParsedTajweed: boolean) => {
if (index >= 1 && index <= 6236) {
const ayah = ayahs[index - 1];
if (withParsedTajweed) {
const tajweedParser = new Tajweed();
return tajweedParser.parse(ayah, true);
} else {
return ayah;
}
} else {
throw new Error('Invalid page number, valid range 1-6236');
}
};
// Asynchronous version
const getAllAyahsAsync = async () => {
return ayahs;
};
const getAyahByIndexAsync = async (index: number, withParsedTajweed: boolean) => {
if (index >= 1 && index <= 6236) {
const ayah = ayahs[index - 1];
if (withParsedTajweed) {
const tajweedParser = new Tajweed();
return tajweedParser.parse(ayah, true);
} else {
return ayah;
}
} else {
throw new Error('Invalid page number, valid range 1-6236');
}
};
export {
getAllAyahs,
getAyahByIndex,
getAllAyahsAsync,
getAyahByIndexAsync,
};