File size: 785 Bytes
645859a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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`)
  }
}

export function openingToClosingBracket (char) {
  parse()
  return openToClose.get(char) || null
}

export function closingToOpeningBracket (char) {
  parse()
  return closeToOpen.get(char) || null
}

export function getCanonicalBracket (char) {
  parse()
  return canonical.get(char) || null
}