untitled notebook

node v14.20.1
version: 2.0.0
endpointsharetweet
const { getEmbeddingLevels, getReorderSegments, getMirroredCharacter } = require("bidi-js")() const str = 'ימין hashem (עושה) חיל' function logical2visual(str, dir) { const embeddingLevels = getEmbeddingLevels(str, dir) const arr = str.split('').map((c, i) => embeddingLevels.levels[i] & 1 ? getMirroredCharacter(c) || c : c) for (const [start, end] of getReorderSegments(str, embeddingLevels)) { const tempArr = arr.slice(start, end + 1) tempArr.reverse() for (let i = start; i <= end; i++) { arr[i] = tempArr[i - start] } } return arr.join('') } console.log(logical2visual(str, 'rtl')) // "ליח (השוע) hashem ןימי"
Loading…

no comments

    sign in to comment