1 | "use strict";
|
2 |
|
3 | exports.__esModule = true;
|
4 | exports.isNumberKey = isNumberKey;
|
5 | exports.preventNonNumberKey = preventNonNumberKey;
|
6 | exports.roundToPrecision = roundToPrecision;
|
7 | exports.calculatePrecision = calculatePrecision;
|
8 |
|
9 | function isNumberKey(event) {
|
10 | var charCode = event.which ? event.which : event.keyCode;
|
11 | if (event.key === ".") return true;
|
12 | if (charCode > 31 && (charCode < 48 || charCode > 57) && (charCode < 96 || charCode > 105) && charCode !== 110) return false;
|
13 | return true;
|
14 | }
|
15 |
|
16 | function preventNonNumberKey(event) {
|
17 | if (!isNumberKey(event)) {
|
18 | event.preventDefault();
|
19 | }
|
20 | }
|
21 |
|
22 | function roundToPrecision(value, precision) {
|
23 | return parseFloat(value).toFixed(precision);
|
24 | }
|
25 |
|
26 | function calculatePrecision(value) {
|
27 | var groups = /[1-9]([0]+$)|\.([0-9]*)/.exec(String(value));
|
28 |
|
29 | if (!groups) {
|
30 | return 0;
|
31 | }
|
32 |
|
33 | if (groups[1]) {
|
34 | return -groups[1].length;
|
35 | }
|
36 |
|
37 | if (groups[2]) {
|
38 | return groups[2].length;
|
39 | }
|
40 |
|
41 | return 0;
|
42 | } |
\ | No newline at end of file |