summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--js/src/index.ts15
-rw-r--r--js/test/tests.ts16
2 files changed, 21 insertions, 10 deletions
diff --git a/js/src/index.ts b/js/src/index.ts
index cba42a5..b808cba 100644
--- a/js/src/index.ts
+++ b/js/src/index.ts
@@ -4,19 +4,22 @@ interface UnicodeScalarValue {
codePoint: number;
}
+const dingbatsByDec: {[key: string]: UnicodeScalarValue} = {};
const dingbatsByHex: {[key: string]: UnicodeScalarValue} = {};
for (const dingbat of dingbats) {
- dingbatsByHex[dingbat["Typeface name"] + "_" + dingbat["Dingbat hex"]] = {
+ const scalarValue = {
codePoint: parseInt(dingbat["Unicode dec"], 10),
};
+
+ dingbatsByDec[dingbat["Typeface name"] + "_" + dingbat["Dingbat dec"]] = scalarValue;
+ dingbatsByHex[dingbat["Typeface name"] + "_" + dingbat["Dingbat hex"]] = scalarValue;
}
-interface Input {
- typeface: string;
- hex: string;
+export function hex(typeface: string, hex: string): UnicodeScalarValue | undefined {
+ return dingbatsByHex[typeface + "_" + hex.toUpperCase()];
}
-export default function dingbatToUnicode(input: Input) {
- return dingbatsByHex[input.typeface + "_" + input.hex.toUpperCase()];
+export function dec(typeface: string, dec: string): UnicodeScalarValue | undefined {
+ return dingbatsByDec[typeface + "_" + dec];
}
diff --git a/js/test/tests.ts b/js/test/tests.ts
index 0d78235..e92eedc 100644
--- a/js/test/tests.ts
+++ b/js/test/tests.ts
@@ -1,9 +1,9 @@
import assert from "assert";
-import dingbatToUnicode from "../";
+import * as dingbatToUnicode from "../";
export function canConvertFromHexDingbatToUnicode() {
- const result = dingbatToUnicode({typeface: "Wingdings", hex: "29"});
+ const result = dingbatToUnicode.hex("Wingdings", "29");
assert.deepStrictEqual(result, {
codePoint: 0x2706,
@@ -11,7 +11,7 @@ export function canConvertFromHexDingbatToUnicode() {
}
export function canConvertFromUppercaseHexDingbatToUnicode() {
- const result = dingbatToUnicode({typeface: "Wingdings", hex: "3E"});
+ const result = dingbatToUnicode.hex("Wingdings", "3E");
assert.deepStrictEqual(result, {
codePoint: 0x2707,
@@ -19,9 +19,17 @@ export function canConvertFromUppercaseHexDingbatToUnicode() {
}
export function canConvertFromLowercaseHexDingbatToUnicode() {
- const result = dingbatToUnicode({typeface: "Wingdings", hex: "3e"});
+ const result = dingbatToUnicode.hex("Wingdings", "3e");
assert.deepStrictEqual(result, {
codePoint: 0x2707,
});
}
+
+export function canConvertFromDecimalDingbatToUnicode() {
+ const result = dingbatToUnicode.dec("Wingdings", "41");
+
+ assert.deepStrictEqual(result, {
+ codePoint: 0x2706,
+ });
+}