krl-compiler
Advanced tools
Comparing version 0.35.0 to 0.35.1
{ | ||
"name": "krl-compiler", | ||
"version": "0.35.0", | ||
"version": "0.35.1", | ||
"description": "KRL compiler", | ||
@@ -5,0 +5,0 @@ "main": "src/index.js", |
@@ -84,2 +84,18 @@ var _ = require("lodash"); | ||
_.each(props, function(p){ | ||
switch(_.get(p, ["value", 1, "type"])){ | ||
case "String": | ||
break; | ||
case "Map": | ||
_.each(p.value[1].value, function(map_kv_pair){ | ||
var v_ast_type = map_kv_pair.value.type; | ||
if(v_ast_type !== "String"){ | ||
throw new Error("A ruleset key that is Map, can only use Strings as values"); | ||
} | ||
}); | ||
break; | ||
default: | ||
throw new Error("Ruleset keys must be a String, or Map of Strings"); | ||
} | ||
obj[p.value[0].value] = comp(p.value[1]); | ||
@@ -86,0 +102,0 @@ }); |
@@ -85,2 +85,10 @@ var _ = require("lodash"); | ||
} | ||
try{ | ||
compiler("ruleset a{meta{keys b {\"one\":function(){}}}}"); | ||
t.fail("meta key maps can only have strings"); | ||
}catch(err){ | ||
t.equals(err + "", "Error: A ruleset key that is Map, can only use Strings as values"); | ||
} | ||
t.end(); | ||
@@ -87,0 +95,0 @@ }); |
53529
1439
0