rewriteDefinition method
dynamic
rewriteDefinition(
- dynamic node
Recursively rewrites bundle:// strings inside a definition JSON tree.
Implementation
dynamic rewriteDefinition(dynamic node) {
if (node is Map) {
return <String, dynamic>{
for (final entry in node.entries) entry.key: rewriteDefinition(entry.value),
};
}
if (node is List) {
return node.map(rewriteDefinition).toList();
}
if (node is String && node.startsWith('bundle://')) {
try {
return resolve(node).target.toString();
} on BundleUriResolutionException catch (e) {
_logger.warn('bundle.uri.resolve.miss', {'uri': node, 'reason': e.message});
return node;
}
}
return node;
}