rittenhop-dev/versions/5.94.2/node_modules/nearley/builtin/number.ne
2024-09-23 19:40:12 -04:00

52 lines
1.1 KiB
Plaintext

unsigned_int -> [0-9]:+ {%
function(d) {
return parseInt(d[0].join(""));
}
%}
int -> ("-"|"+"):? [0-9]:+ {%
function(d) {
if (d[0]) {
return parseInt(d[0][0]+d[1].join(""));
} else {
return parseInt(d[1].join(""));
}
}
%}
unsigned_decimal -> [0-9]:+ ("." [0-9]:+):? {%
function(d) {
return parseFloat(
d[0].join("") +
(d[1] ? "."+d[1][1].join("") : "")
);
}
%}
decimal -> "-":? [0-9]:+ ("." [0-9]:+):? {%
function(d) {
return parseFloat(
(d[0] || "") +
d[1].join("") +
(d[2] ? "."+d[2][1].join("") : "")
);
}
%}
percentage -> decimal "%" {%
function(d) {
return d[0]/100;
}
%}
jsonfloat -> "-":? [0-9]:+ ("." [0-9]:+):? ([eE] [+-]:? [0-9]:+):? {%
function(d) {
return parseFloat(
(d[0] || "") +
d[1].join("") +
(d[2] ? "."+d[2][1].join("") : "") +
(d[3] ? "e" + (d[3][1] || "+") + d[3][2].join("") : "")
);
}
%}