Initial commit

This commit is contained in:
mats committed 2026-09-22 08:41:20 +02:00
commit 89053153cc
8152 files changed
+2086461

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
import data from './data/bidiBrackets.data.js'
import { parseCharacterMap } from './util/parseCharacterMap.js'
let openToClose, closeToOpen, canonical
function parse () {
if (!openToClose) {
//const start = performance.now()
let { map, reverseMap } = parseCharacterMap(data.pairs, true)
openToClose = map
closeToOpen = reverseMap
canonical = parseCharacterMap(data.canonical, false).map
//console.log(`brackets parsed in ${performance.now() - start}ms`)
}
}
/**
* Get the opening bracket character corresponding to a given closing bracket character.
* @param {string} char
* @returns {string | null}
*/
export function openingToClosingBracket (char) {
parse()
return openToClose.get(char) || null
}
/**
* Get the closing bracket character corresponding to a given opening bracket character.
* @param {string} char
* @returns {string | null}
*/
export function closingToOpeningBracket (char) {
parse()
return closeToOpen.get(char) || null
}
/**
* Retrieves the canonical form of a bracket character.
* @param {string} char
* @returns {string | null}
*/
export function getCanonicalBracket (char) {
parse()
return canonical.get(char) || null
}