summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2021-01-16 16:01:14 +0000
committerMichael Williamson <mike@zwobble.org>2021-01-16 16:01:14 +0000
commitad89aec533a2b5fdfc67ee02e729e2bbb82e05b3 (patch)
tree7f52d852c3414d7de8d82c62aab58e476ed25215 /js
parent9d3ca36b8c6fa5907a448adfba2357a18fdf4d79 (diff)
Use single lookup for dingbats
Diffstat (limited to 'js')
-rw-r--r--js/src/index.ts12
1 files 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) {