@hebcal/leyning
Version:
Torah Reading API for Parashat HaShavua and holidays
33 lines (30 loc) • 754 B
JavaScript
/*! @hebcal/leyning v9.2.5 */
import { calculateNumVerses } from './common.js';
/**
* Makes a deep copy of the src object using JSON stringify and parse
*/
function clone(src) {
return JSON.parse(JSON.stringify(src));
}
function cloneHaftara(haft) {
if (!haft) {
return haft;
}
const dest = clone(haft);
if (Array.isArray(dest)) {
dest.forEach(calculateNumVerses);
}
else {
calculateNumVerses(dest);
}
return dest;
}
/**
* Returns the total number of verses in an array of Aliyah (or haftarah) objects
*/
function sumVerses(aliyot) {
return Array.isArray(aliyot)
? aliyot.reduce((prev, cur) => prev + cur.v, 0)
: aliyot.v;
}
export { clone, cloneHaftara, sumVerses };