Catch missing precedence values in JS

Fixes #305
This commit is contained in:
Max Brunsfeld 2019-04-05 13:04:12 -07:00
parent df76aef067
commit a1eee4a193

View file

@ -53,6 +53,7 @@ function optional(value) {
}
function prec(number, rule) {
checkPrecedence(number);
checkArguments(
arguments.length - 1,
prec,
@ -73,6 +74,7 @@ prec.left = function(number, rule) {
number = 0;
}
checkPrecedence(number);
checkArguments(
arguments.length - 1,
prec.left,
@ -93,6 +95,7 @@ prec.right = function(number, rule) {
number = 0;
}
checkPrecedence(number);
checkArguments(
arguments.length - 1,
prec.right,
@ -108,6 +111,7 @@ prec.right = function(number, rule) {
}
prec.dynamic = function(number, rule) {
checkPrecedence(number);
checkArguments(
arguments.length - 1,
prec.dynamic,
@ -371,6 +375,12 @@ function checkArguments(ruleCount, caller, callerName, suffix = '') {
}
}
function checkPrecedence(value) {
if (value == null) {
throw new Error('Missing precedence value');
}
}
global.alias = alias;
global.blank = blank;
global.choice = choice;