wrapMapping method
Map<String, ASTNode>
wrapMapping(
- MappingNode node
)
Implementation
Map<String, ASTNode> wrapMapping(MappingNode node) {
Map<String, ASTNode> result = {};
Map<String, Location>? seen = noDuplicates ? {} : null;
for (var me in node.elements) {
var k = (me.key.kind == TokenKind.Word) ? me.key.text : me.key.value;
if (!noDuplicates) {
result[k] = me.value;
} else {
if (seen!.containsKey(k)) {
var msg =
'Duplicate key $k seen at ${me.key.start} (previously at ${seen[k]}';
throw ConfigException(msg, me.key.start);
}
seen[k] = me.key.start!;
result[k] = me.value;
}
}
return result;
}