multiply function
Implementation
List<List<dynamic>> multiply(List<String> patterns, List<String> templates,
List<List<String>>? matched) {
var res = <List<dynamic>>[];
if (patterns.isEmpty) patterns = [''];
for (var i = 0; i < templates.length; i++) {
patterns.forEach((pattern) {
var constant = pattern + templates[i];
res.add([constant, (matched != null ? matched[i] : [])]);
});
}
return res;
}