From a59a530049a6e11f315e55993021e243f5e6e482 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Fri, 5 Jul 2024 03:24:01 -0400 Subject: [PATCH] fix(dsl): improve error message when a rule function returns undefined --- cli/src/generate/dsl.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/cli/src/generate/dsl.js b/cli/src/generate/dsl.js index 4be32964..535224e1 100644 --- a/cli/src/generate/dsl.js +++ b/cli/src/generate/dsl.js @@ -301,7 +301,11 @@ function grammar(baseGrammar, options) { if (typeof ruleFn !== "function") { throw new Error(`Grammar rules must all be functions. '${ruleName}' rule is not.`); } - rules[ruleName] = normalize(ruleFn.call(ruleBuilder, ruleBuilder, baseGrammar.rules[ruleName])); + const rule = ruleFn.call(ruleBuilder, ruleBuilder, baseGrammar.rules[ruleName]); + if (rule === undefined) { + throw new Error(`Rule '${ruleName}' returned undefined.`); + } + rules[ruleName] = normalize(rule); } }