MessageValue constructor
MessageValue(
- dynamic value
Implementation
factory MessageValue(dynamic value) {
var built = <dynamic>[];
if (value is List) {
var list = value;
for (dynamic e in list) {
var val = MessageValue(e);
built.addAll(val._values);
}
} else {
var line = '$value';
var cursor = 0;
for (var m in _regexpBlock.allMatches(line)) {
if (m.start > cursor) {
var prev = line.substring(cursor, m.start);
built.addAll(_buildValueFromString(prev));
}
var block = m.group(1)!;
built.add(MessageBlock(block));
cursor = m.end;
}
if (line.length > cursor) {
var tail = line.substring(cursor);
built.addAll(_buildValueFromString(tail));
}
}
return MessageValue._(built);
}