-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbackground.js
144 lines (133 loc) · 6.07 KB
/
background.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
var _items = null;
chrome.runtime.onInstalled.addListener(
// eslint-disable-next-line no-unused-vars
function (details) {
// TODO: when set is complete, consider checking details.reason === "update"
chrome.storage.local.set(
{
assumeImperial: true,
toImperial: true,
addOtherSystem: true,
highlight: true,
showPopup: true,
// NOTE: order is important!
units: {
// text match, class, name, pref suffix, convert to baseline add before, conv to baseline factor, convert to baseline add after, pref imp high, cutoff imp, pref imp low,
// pref metric high, cutoff metric, pref metric low, high dec, cutoff dec, low dec, number format culture
'g': { c: 'Mass', n: 'Gram', ps: 'g', ctbb: 0, ctb: 1.0, ctba: 0, pih: 'oz', coi: 0, pil: 'oz', pmh: 'g', com: 0, pml: 'g', hd: 0, cod: 10, ld: 1, nf: 'nl-NL' },
'oz': { c: 'Mass', n: 'Ounce', ps: 'oz', ctbb: 0, ctb: 1.0 / 28.3495, ctba: 0, pih: 'oz', coi: 0, pil: 'oz', pmh: 'g', com: 0, pml: 'g', hd: 0, cod: 10, ld: 1, nf: 'en-US' },
'kg': { c: 'Mass', n: 'Kilogram', ps: 'kg', ctbb: 0, ctb: 0.001, ctba: 0, pih: 'lb', coi: 0, pil: 'lb', pmh: 'kg', com: 0, pml: 'kg', hd: 0, cod: 10, ld: 1, nf: 'nl-NL' },
'lb': { c: 'Mass', n: 'Pound', ps: 'lb', ctbb: 0, ctb: 1.0 / 453.592, ctba: 0, pih: 'lb', coi: 0, pil: 'lb', pmh: 'kg', com: 0, pml: 'lb', hd: 0, cod: 10, ld: 1, nf: 'en-US' },
'metric ton': { c: 'Mass', n: 'Metric ton', ps: ' tons', ctbb: 0, ctb: 0.000001, ctba: 0, pih: 'ton', coi: 0, pil: 'ton', pmh: 'metric ton', com: 0, pml: 'metric ton', hd: 0, cod: 10, ld: 1, nf: 'nl-NL' },
'ton': { c: 'Mass', n: 'Short ton', ps: ' tons', ctbb: 0, ctb: 1.0 / 907185, ctba: 0, pih: 'ton', coi: 0, pil: 'ton', pmh: 'metric ton', com: 0, pml: 'metric ton', hd: 0, cod: 10, ld: 1, nf: 'en-US' },
'long ton': { c: 'Mass', n: 'Long ton', ps: ' long tons', ctbb: 0, ctb: 1.0 / 1016046.9, ctba: 0, pih: 'ton', coi: 0, pil: 'ton', pmh: 'metric ton', com: 0, pml: 'metric ton', hd: 0, cod: 10, ld: 1, nf: 'en-US' },
'C': { c: 'Temperature', n: 'Celsius', ps: '\u00b0C', ctbb: 0, ctb: 1.0, ctba: 0, pih: 'F', coi: 0, pil: 'F', pmh: 'C', com: -100, pml: 'K', hd: 0, cod: 100, ld: 1, nf: 'nl-NL' },
'K': { c: 'Temperature', n: 'Kelvin', ps: '\u00b0K', ctbb: 273.15, ctb: 1.0, ctba: 0, pih: 'F', coi: 0, pil: 'F', pmh: 'C', com: -100, pml: 'K', hd: 0, cod: 100, ld: 1, nf: 'nl-NL' },
'F': { c: 'Temperature', n: 'Fahrenheit', ps: '\u00b0F', ctbb: 0, ctb: 9.0 / 5.0, ctba: 32.0, pih: 'F', coi: 0, pil: 'F', pmh: 'C', com: -100, pml: 'K', hd: 0, cod: 100, ld: 1, nf: 'en-US' },
'R': { c: 'Temperature', n: 'Rankine', ps: '\u00b0R', ctbb: 0, ctb: 9.0 / 5.0, ctba: 491.67, pih: 'R', coi: 0, pil: 'R', pmh: 'C', com: 0, pml: 'K', hd: 0, cod: 100, ld: 1, nf: 'en-US' }
},
aliases: {
'g': { a: 'g' },
'gram': { a: 'g' },
'grams': { a: 'g' },
'oz': { a: 'oz' },
'ounce': { a: 'oz' },
'ounces': { a: 'oz' },
'kg': { a: 'kg' },
'kilogram': { a: 'kg' },
'kilograms': { a: 'kg' },
'kilo': { a: 'kg' },
'kilos': { a: 'kg' },
'lb': { a: 'lb' },
'pound': { a: 'lb' },
'pounds': { a: 'lb' },
'metric tons': { a: 'metric ton' },
'tonne': { a: 'metric ton' },
'ton': { a: 'ton' },
'long tons': { a: 'long ton' },
'C': { a: 'C' },
'\u00B0C': { a: 'C' },
'\u00B0 C': { a: 'C' },
'°C': { a: 'C' },
'° C': { a: 'C' },
'°C': { a: 'C' },
'° C': { a: 'C' },
'Celsius': { a: 'C' },
'\u00B0Celsius': { a: 'C' },
'\u00B0 Celsius': { a: 'C' },
'°Celsius': { a: 'C' },
'° Celsius': { a: 'C' },
'°Celsius': { a: 'C' },
'° Celsius': { a: 'C' },
'degrees Celsius': { a: 'C' },
'F': { a: 'F' },
'\u00B0F': { a: 'F' },
'\u00B0 F': { a: 'F' },
'°F': { a: 'F' },
'° F': { a: 'F' },
'°F': { a: 'F' },
'° F': { a: 'F' },
'Fahrenheit': { a: 'F' },
'\u00B0Fahrenheit': { a: 'F' },
'\u00B0 Fahrenheit': { a: 'F' },
'°Fahrenheit': { a: 'F' },
'° Fahrenheit': { a: 'F' },
'°Fahrenheit': { a: 'F' },
'° Fahrenheit': { a: 'F' },
'degrees Fahrenheit': { a: 'F' },
'K': { a: 'K' },
'\u00B0K': { a: 'K' },
'\u00B0 K': { a: 'K' },
'°K': { a: 'K' },
'° K': { a: 'K' },
'°K': { a: 'K' },
'° K': { a: 'K' },
'Kelvin': { a: 'K' },
'\u00B0Kelvin': { a: 'K' },
'\u00B0 Kelvin': { a: 'K' },
'°Kelvin': { a: 'K' },
'° Kelvin': { a: 'K' },
'°Kelvin': { a: 'K' },
'° Kelvin': { a: 'K' },
'degrees Kelvin': { a: 'K' },
'R': { a: 'R' },
'\u00B0R': { a: 'R' },
'\u00B0 R': { a: 'R' },
'°R': { a: 'R' },
'° R': { a: 'R' },
'°R': { a: 'R' },
'° R': { a: 'R' },
'Rankine': { a: 'R' },
'\u00B0Rankine': { a: 'R' },
'\u00B0 Rankine': { a: 'R' },
'°Rankine': { a: 'R' },
'° Rankine': { a: 'R' },
'°Rankine': { a: 'R' },
'° Rankine': { a: 'R' },
'degrees Rankine': { a: 'R' }
// TODO: distance
// TODO: work
// TODO: volume
}
}
);
loadSettings();
}
);
chrome.runtime.onStartup.addListener(
function() { loadSettings(); }
);
chrome.runtime.onMessage.addListener(
function (request, sender, sendResponse) {
if (!_items) { loadSettings(); }
if (request.thoth === 'getUnits')
sendResponse(_items);
}
);
function loadSettings() {
chrome.storage.local.get(
function (items) {
_items = items;
}
);
}