From ad89aec533a2b5fdfc67ee02e729e2bbb82e05b3 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 16 Jan 2021 16:01:14 +0000 Subject: Use single lookup for dingbats --- js/src/index.ts | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/js/src/index.ts b/js/src/index.ts index 1563b59..9b9b052 100644 --- a/js/src/index.ts +++ b/js/src/index.ts @@ -5,8 +5,7 @@ export interface UnicodeScalarValue { string: string; } -const dingbatsByDec: {[key: string]: UnicodeScalarValue} = {}; -const dingbatsByHex: {[key: string]: UnicodeScalarValue} = {}; +const dingbatsByCodePoint: {[key: string]: UnicodeScalarValue} = {}; const fromCodePoint = String.fromCodePoint ? String.fromCodePoint : fromCodePointPolyfill; @@ -17,20 +16,19 @@ for (const dingbat of dingbats) { string: fromCodePoint(codePoint), }; - dingbatsByDec[dingbat["Typeface name"] + "_" + dingbat["Dingbat dec"]] = scalarValue; - dingbatsByHex[dingbat["Typeface name"] + "_" + dingbat["Dingbat hex"]] = scalarValue; + dingbatsByCodePoint[dingbat["Typeface name"] + "_" + dingbat["Dingbat dec"]] = scalarValue; } export function codePoint(typeface: string, codePoint: number): UnicodeScalarValue | undefined { - return dingbatsByDec[typeface + "_" + codePoint]; + return dingbatsByCodePoint[typeface + "_" + codePoint]; } export function dec(typeface: string, dec: string): UnicodeScalarValue | undefined { - return dingbatsByDec[typeface + "_" + dec]; + return dingbatsByCodePoint[typeface + "_" + dec]; } export function hex(typeface: string, hex: string): UnicodeScalarValue | undefined { - return dingbatsByHex[typeface + "_" + hex.toUpperCase()]; + return dingbatsByCodePoint[typeface + "_" + parseInt(hex, 16)]; } function fromCodePointPolyfill(codePoint: number) { -- cgit v1.2.3