diff options
Diffstat (limited to 'vanilla/node_modules/bidi-js/src/mirroring.js')
| -rw-r--r-- | vanilla/node_modules/bidi-js/src/mirroring.js | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/vanilla/node_modules/bidi-js/src/mirroring.js b/vanilla/node_modules/bidi-js/src/mirroring.js deleted file mode 100644 index c214b04..0000000 --- a/vanilla/node_modules/bidi-js/src/mirroring.js +++ /dev/null @@ -1,48 +0,0 @@ -import data from './data/bidiMirroring.data.js' -import { parseCharacterMap } from './util/parseCharacterMap.js' - -let mirrorMap - -function parse () { - if (!mirrorMap) { - //const start = performance.now() - const { map, reverseMap } = parseCharacterMap(data, true) - // Combine both maps into one - reverseMap.forEach((value, key) => { - map.set(key, value) - }) - mirrorMap = map - //console.log(`mirrored chars parsed in ${performance.now() - start}ms`) - } -} - -export function getMirroredCharacter (char) { - parse() - return mirrorMap.get(char) || null -} - -/** - * Given a string and its resolved embedding levels, build a map of indices to replacement chars - * for any characters in right-to-left segments that have defined mirrored characters. - * @param string - * @param embeddingLevels - * @param [start] - * @param [end] - * @return {Map<number, string>} - */ -export function getMirroredCharactersMap(string, embeddingLevels, start, end) { - let strLen = string.length - start = Math.max(0, start == null ? 0 : +start) - end = Math.min(strLen - 1, end == null ? strLen - 1 : +end) - - const map = new Map() - for (let i = start; i <= end; i++) { - if (embeddingLevels[i] & 1) { //only odd (rtl) levels - const mirror = getMirroredCharacter(string[i]) - if (mirror !== null) { - map.set(i, mirror) - } - } - } - return map -} |
