diff --git a/index.html b/index.html index bb85c34..84147b2 100644 --- a/index.html +++ b/index.html @@ -1648,26 +1648,26 @@

ملاحظات متفرقة

//.reduce((obj, cur, i) => { i == 0? {} : (obj[cur[0]] = cur[1], obj), {}) .forEach((e, i) => { const is_of = (...params) => params.includes(e[0]) - if (is_of('dark', 'd')) { dark = true } - else if (is_of('light', 'l')) { dark = false } - else if (is_of('color', 'c')) { color = parse_color(e[1]) } - else if (is_of('mvbtns', 'mv', 'm')) { mv = parse_mv(e[1]) } - else if (is_of('quizmode', 'qz', 'q')) { quizmode = parse_quizmode(e[1]) } - else if (is_of('txt')) { quizmode = parse_quizmode('imlaai') } - else if (is_of('byword')) { byword = true } - else if (is_of('byletter')) { byword = false } - else if (is_of( 'linebreaks')) { nolinebreaks = false } - else if (is_of('nolinebreaks')) { nolinebreaks = true } - else if (is_of('t', 'teach', 'teacher')) { teacher = true } - else if (is_of('n', 'noteach', 'noteacher')) { teacher = false } - else if (is_of('dt', 'disableteacher')) { disableteacher = true } - else if (is_of('dq', 'disablequizmode')) { disablequizmode = true } - else if (is_of('hc', 'highcontrast')) { highcontrast = true } - else if (is_of('emu', 'emulate', 'emulation')) { emulate = e[1] } - else if (is_of('qari')) { qari = e[1] } - else if (is_of('qariurl')) { qariurl = e[1] } - else if (is_of('cn')) { cn = true } - else if (is_of('zz')) { zz = true } + if (is_of('dark', 'd')) { dark = true } + else if (is_of('light', 'l')) { dark = false } + else if (is_of('color', 'c')) { color = parse_color(e[1]) || color } + else if (is_of('mvbtns', 'mv', 'm')) { mv = parse_mv(e[1]) || mv } + else if (is_of('quizmode', 'qz', 'q')) { quizmode = parse_quizmode(e[1]) || quizmode } + else if (is_of('txt')) { quizmode = parse_quizmode('imlaai') } + else if (is_of('byword')) { byword = true } + else if (is_of('byletter')) { byword = false } + else if (is_of( 'linebreaks')) { nolinebreaks = false } + else if (is_of('nolinebreaks')) { nolinebreaks = true } + else if (is_of('t', 'teach', 'teacher')) { teacher = true } + else if (is_of('n', 'noteach', 'noteacher')) { teacher = false } + else if (is_of('dt', 'disableteacher')) { disableteacher = true } + else if (is_of('dq', 'disablequizmode')) { disablequizmode = true } + else if (is_of('hc', 'highcontrast')) { highcontrast = true } + else if (is_of('emu', 'emulate', 'emulation')) { emulate = e[1] } + else if (is_of('qari')) { qari = e[1] } + else if (is_of('qariurl')) { qariurl = e[1] } + else if (is_of('cn')) { cn = true } + else if (is_of('zz')) { zz = true } }) let opts = { dark, @@ -1805,11 +1805,11 @@

ملاحظات متفرقة

function suras_to_ayat (stsura, ensura) { // each is 1-114 if (stsura === '') { stsura = '1' } if (ensura === '') { ensura = '114' } - if (!is_number(stsura) || !is_number(ensura)) { return [null, null] } + if (!is_number(stsura) || !is_number(ensura)) { return } stsura = +stsura || 1 ensura = +ensura || MAX_SURA - if (stsura < 1 || ensura < 1 ) { return [null, null] } - if (stsura > MAX_SURA || ensura > MAX_SURA) { return [null, null] } + if (stsura < 1 || ensura < 1 ) { return } + if (stsura > MAX_SURA || ensura > MAX_SURA) { return } const st = start_(stsura - 1) + 1 const en = start_(ensura - 1) + suar_length[ensura - 1] return [st, en] @@ -1837,10 +1837,10 @@

ملاحظات متفرقة

} function ayat_to_ayat (staya, enaya) { // each is 1-6236 or 1/7 (sura/aya) - if (!staya) { return [null, null] } + if (!staya) { return } let st = _aya2idx(staya) let en = _aya2idx(enaya) - if (st == null || en == null) { return [null, null] } + if (st == null || en == null) { return } st = +st || 1; en = +en || MAX_AYA return [st, en] } @@ -1873,27 +1873,27 @@

ملاحظات متفرقة

} function rukus_to_ayat (struku, enruku) { // each is 1/1 (sura/ruku) - if (struku == null) { return [null, null] } + if (struku == null) { return } let stpair = _ruku2idx(struku) let enpair = _ruku2idx(enruku) - if (stpair == null || enpair == null) { return [null, null] } + if (stpair == null || enpair == null) { return } return [stpair[0], enpair[1]] } function pages_to_ayat (stpage, enpage) { // each is 1-604 - if (stpage == null) { return [null, null] } + if (stpage == null) { return } stpage = +stpage || 1; enpage = +enpage || MAX_PAGE - if (stpage > MAX_PAGE || enpage > MAX_PAGE) { return [null, null] } + if (stpage > MAX_PAGE || enpage > MAX_PAGE) { return } let st = pages[+stpage - 1] + 1 let en = pages[+enpage] return [st, en] } function juzs_to_ayat (stjuz, enjuz) { // each is 1-30 - if (stjuz == null) { return [null, null] } + if (stjuz == null) { return } stjuz = +stjuz || 1 enjuz = +enjuz || MAX_JUZ - if (stjuz > MAX_JUZ || enjuz > MAX_JUZ) { return [null, null] } + if (stjuz > MAX_JUZ || enjuz > MAX_JUZ) { return } // we multiply by 8, as we have only data for rubs. const ratio = MAX_RUB / MAX_JUZ // 8 let st = rubs[((stjuz || 1) - 1) * ratio] + 1 @@ -1922,10 +1922,10 @@

ملاحظات متفرقة

} function rubs_to_ayat (strub, enrub) { // each is 1-240 or 1/1-60/4 or 1//1-30//8. - if (strub == null) { return [null, null] } + if (strub == null) { return } const stidx = _rub2idx(strub) const enidx = _rub2idx(enrub) - if (stidx == null || enidx == null) { return [null, null] } + if (stidx == null || enidx == null) { return } let st = rubs[(stidx || 1) - 1] + 1 let en = rubs[ enidx || 240 ] return [st, en] @@ -1943,10 +1943,10 @@

ملاحظات متفرقة

} function hizbs_to_ayat (sthizb, enhizb) { // each is 1-240 or 1/1-60/4 or 1//1-30//8. - if (sthizb == null) { return [null, null] } + if (sthizb == null) { return } const stidx = _hizb2idx(sthizb) const enidx = _hizb2idx(enhizb) - if (stidx == null || enidx == null) { return [null, null] } + if (stidx == null || enidx == null) { return } // we multiply by 4, as we have only data for rubs. const ratio = MAX_RUB / MAX_HIZB // 4 let st = rubs[((stidx || 1) - 1) * ratio] + 1 @@ -1978,15 +1978,15 @@

ملاحظات متفرقة

//.reduce((obj, cur, i) => { i == 0? {} : (obj[cur[0]] = cur[1], obj), {}) .forEach((e, i) => { const is_of = (...params) => params.includes(e[0]) - if (is_of('a')) { a = +e[1] } - else if (is_of('b')) { b = +e[1] } - else if (is_of('p')) { [st, en] = pages_to_ayat(...range_to_pair(e[1])) } - else if (is_of('s')) { [st, en] = suras_to_ayat(...range_to_pair(e[1])) } - else if (is_of('r')) { [st, en] = rubs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('h')) { [st, en] = hizbs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('j')) { [st, en] = juzs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('k')) { [st, en] = rukus_to_ayat(...range_to_pair(e[1])) } - else { [st, en] = ayat_to_ayat(...range_to_pair(e[0])) } + if (is_of('a')) { a = isNaN(+e[1]) ? a : +e[1] } + else if (is_of('b')) { b = isNaN(+e[1]) ? b : +e[1] } + else if (is_of('p')) { [st, en] = pages_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('s')) { [st, en] = suras_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('r')) { [st, en] = rubs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('h')) { [st, en] = hizbs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('j')) { [st, en] = juzs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('k')) { [st, en] = rukus_to_ayat(...range_to_pair(e[1])) || [st, en] } + else { [st, en] = ayat_to_ayat(...range_to_pair(e[0])) || [st, en] } }) if (st == null || en == null) { return [null, null] } st -= b; en += a diff --git a/tajlorligilumi.js b/tajlorligilumi.js index 10d5d46..ae31a2c 100644 --- a/tajlorligilumi.js +++ b/tajlorligilumi.js @@ -52,26 +52,26 @@ function _tajlorligilumilo (params) { //.reduce((obj, cur, i) => { i == 0? {} : (obj[cur[0]] = cur[1], obj), {}) .forEach((e, i) => { const is_of = (...params) => params.includes(e[0]) - if (is_of('dark', 'd')) { dark = true } - else if (is_of('light', 'l')) { dark = false } - else if (is_of('color', 'c')) { color = parse_color(e[1]) } - else if (is_of('mvbtns', 'mv', 'm')) { mv = parse_mv(e[1]) } - else if (is_of('quizmode', 'qz', 'q')) { quizmode = parse_quizmode(e[1]) } - else if (is_of('txt')) { quizmode = parse_quizmode('imlaai') } - else if (is_of('byword')) { byword = true } - else if (is_of('byletter')) { byword = false } - else if (is_of( 'linebreaks')) { nolinebreaks = false } - else if (is_of('nolinebreaks')) { nolinebreaks = true } - else if (is_of('t', 'teach', 'teacher')) { teacher = true } - else if (is_of('n', 'noteach', 'noteacher')) { teacher = false } - else if (is_of('dt', 'disableteacher')) { disableteacher = true } - else if (is_of('dq', 'disablequizmode')) { disablequizmode = true } - else if (is_of('hc', 'highcontrast')) { highcontrast = true } - else if (is_of('emu', 'emulate', 'emulation')) { emulate = e[1] } - else if (is_of('qari')) { qari = e[1] } - else if (is_of('qariurl')) { qariurl = e[1] } - else if (is_of('cn')) { cn = true } - else if (is_of('zz')) { zz = true } + if (is_of('dark', 'd')) { dark = true } + else if (is_of('light', 'l')) { dark = false } + else if (is_of('color', 'c')) { color = parse_color(e[1]) || color } + else if (is_of('mvbtns', 'mv', 'm')) { mv = parse_mv(e[1]) || mv } + else if (is_of('quizmode', 'qz', 'q')) { quizmode = parse_quizmode(e[1]) || quizmode } + else if (is_of('txt')) { quizmode = parse_quizmode('imlaai') } + else if (is_of('byword')) { byword = true } + else if (is_of('byletter')) { byword = false } + else if (is_of( 'linebreaks')) { nolinebreaks = false } + else if (is_of('nolinebreaks')) { nolinebreaks = true } + else if (is_of('t', 'teach', 'teacher')) { teacher = true } + else if (is_of('n', 'noteach', 'noteacher')) { teacher = false } + else if (is_of('dt', 'disableteacher')) { disableteacher = true } + else if (is_of('dq', 'disablequizmode')) { disablequizmode = true } + else if (is_of('hc', 'highcontrast')) { highcontrast = true } + else if (is_of('emu', 'emulate', 'emulation')) { emulate = e[1] } + else if (is_of('qari')) { qari = e[1] } + else if (is_of('qariurl')) { qariurl = e[1] } + else if (is_of('cn')) { cn = true } + else if (is_of('zz')) { zz = true } }) let opts = { dark, diff --git a/versligilumi.js b/versligilumi.js index db347e7..a736f3b 100644 --- a/versligilumi.js +++ b/versligilumi.js @@ -34,11 +34,11 @@ function range_to_pair (x) { function suras_to_ayat (stsura, ensura) { // each is 1-114 if (stsura === '') { stsura = '1' } if (ensura === '') { ensura = '114' } - if (!is_number(stsura) || !is_number(ensura)) { return [null, null] } + if (!is_number(stsura) || !is_number(ensura)) { return } stsura = +stsura || 1 ensura = +ensura || MAX_SURA - if (stsura < 1 || ensura < 1 ) { return [null, null] } - if (stsura > MAX_SURA || ensura > MAX_SURA) { return [null, null] } + if (stsura < 1 || ensura < 1 ) { return } + if (stsura > MAX_SURA || ensura > MAX_SURA) { return } const st = start_(stsura - 1) + 1 const en = start_(ensura - 1) + suar_length[ensura - 1] return [st, en] @@ -66,10 +66,10 @@ function _aya2idx (aya) { // 1-6236 or 1/7 } function ayat_to_ayat (staya, enaya) { // each is 1-6236 or 1/7 (sura/aya) - if (!staya) { return [null, null] } + if (!staya) { return } let st = _aya2idx(staya) let en = _aya2idx(enaya) - if (st == null || en == null) { return [null, null] } + if (st == null || en == null) { return } st = +st || 1; en = +en || MAX_AYA return [st, en] } @@ -102,27 +102,27 @@ function _ruku2idx (ruku) { // each is 1/1 (sura/ruku) -- TODO: remove redundan } function rukus_to_ayat (struku, enruku) { // each is 1/1 (sura/ruku) - if (struku == null) { return [null, null] } + if (struku == null) { return } let stpair = _ruku2idx(struku) let enpair = _ruku2idx(enruku) - if (stpair == null || enpair == null) { return [null, null] } + if (stpair == null || enpair == null) { return } return [stpair[0], enpair[1]] } function pages_to_ayat (stpage, enpage) { // each is 1-604 - if (stpage == null) { return [null, null] } + if (stpage == null) { return } stpage = +stpage || 1; enpage = +enpage || MAX_PAGE - if (stpage > MAX_PAGE || enpage > MAX_PAGE) { return [null, null] } + if (stpage > MAX_PAGE || enpage > MAX_PAGE) { return } let st = pages[+stpage - 1] + 1 let en = pages[+enpage] return [st, en] } function juzs_to_ayat (stjuz, enjuz) { // each is 1-30 - if (stjuz == null) { return [null, null] } + if (stjuz == null) { return } stjuz = +stjuz || 1 enjuz = +enjuz || MAX_JUZ - if (stjuz > MAX_JUZ || enjuz > MAX_JUZ) { return [null, null] } + if (stjuz > MAX_JUZ || enjuz > MAX_JUZ) { return } // we multiply by 8, as we have only data for rubs. const ratio = MAX_RUB / MAX_JUZ // 8 let st = rubs[((stjuz || 1) - 1) * ratio] + 1 @@ -151,10 +151,10 @@ function _rub2idx (rub) { // 1-240 or 1/1-60/4 or 1//1-30//8. } function rubs_to_ayat (strub, enrub) { // each is 1-240 or 1/1-60/4 or 1//1-30//8. - if (strub == null) { return [null, null] } + if (strub == null) { return } const stidx = _rub2idx(strub) const enidx = _rub2idx(enrub) - if (stidx == null || enidx == null) { return [null, null] } + if (stidx == null || enidx == null) { return } let st = rubs[(stidx || 1) - 1] + 1 let en = rubs[ enidx || 240 ] return [st, en] @@ -172,10 +172,10 @@ function _hizb2idx (hizb) { // 1-60 or 1/1-30/2. } function hizbs_to_ayat (sthizb, enhizb) { // each is 1-240 or 1/1-60/4 or 1//1-30//8. - if (sthizb == null) { return [null, null] } + if (sthizb == null) { return } const stidx = _hizb2idx(sthizb) const enidx = _hizb2idx(enhizb) - if (stidx == null || enidx == null) { return [null, null] } + if (stidx == null || enidx == null) { return } // we multiply by 4, as we have only data for rubs. const ratio = MAX_RUB / MAX_HIZB // 4 let st = rubs[((stidx || 1) - 1) * ratio] + 1 @@ -207,15 +207,15 @@ function _versligilumilo (params) { //.reduce((obj, cur, i) => { i == 0? {} : (obj[cur[0]] = cur[1], obj), {}) .forEach((e, i) => { const is_of = (...params) => params.includes(e[0]) - if (is_of('a')) { a = +e[1] } - else if (is_of('b')) { b = +e[1] } - else if (is_of('p')) { [st, en] = pages_to_ayat(...range_to_pair(e[1])) } - else if (is_of('s')) { [st, en] = suras_to_ayat(...range_to_pair(e[1])) } - else if (is_of('r')) { [st, en] = rubs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('h')) { [st, en] = hizbs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('j')) { [st, en] = juzs_to_ayat(...range_to_pair(e[1])) } - else if (is_of('k')) { [st, en] = rukus_to_ayat(...range_to_pair(e[1])) } - else { [st, en] = ayat_to_ayat(...range_to_pair(e[0])) } + if (is_of('a')) { a = isNaN(+e[1]) ? a : +e[1] } + else if (is_of('b')) { b = isNaN(+e[1]) ? b : +e[1] } + else if (is_of('p')) { [st, en] = pages_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('s')) { [st, en] = suras_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('r')) { [st, en] = rubs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('h')) { [st, en] = hizbs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('j')) { [st, en] = juzs_to_ayat(...range_to_pair(e[1])) || [st, en] } + else if (is_of('k')) { [st, en] = rukus_to_ayat(...range_to_pair(e[1])) || [st, en] } + else { [st, en] = ayat_to_ayat(...range_to_pair(e[0])) || [st, en] } }) if (st == null || en == null) { return [null, null] } st -= b; en += a