-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
57 lines (51 loc) · 923 Bytes
/
index.js
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
'use strict';
const superscripts = {
'0': '⁰',
'1': '¹',
'2': '²',
'3': '³',
'4': '⁴',
'5': '⁵',
'6': '⁶',
'7': '⁷',
'8': '⁸',
'9': '⁹',
'+': '⁺',
'-': '⁻',
'=': '⁼',
'(': '⁽',
')': '⁾',
'n': 'ⁿ',
'i': 'ⁱ'
};
const subscripts = {
'0': '₀',
'1': '₁',
'2': '₂',
'3': '₃',
'4': '₄',
'5': '₅',
'6': '₆',
'7': '₇',
'8': '₈',
'9': '₉',
'+': '₊',
'-': '₋',
'=': '₌',
'(': '₍',
')': '₎'
};
function parse(input) {
return (input + '').split('');
}
function to(chart) {
return function (input) {
return chart[input];
};
}
module.exports.sup = function (input) {
return parse(input).map(to(superscripts)).join('');
};
module.exports.sub = function (input) {
return parse(input).map(to(subscripts)).join('');
};