MessageBlockBranch constructor
MessageBlockBranch(
- String branch
Implementation
factory MessageBlockBranch(String branch) {
var idx = branch.indexOf(':');
if (idx < 0) {
return MessageBlockBranch._(
MessageBlockBranchType.defaultBranch, null, MessageValue(branch));
}
var typeStr = branch.substring(0, idx).trim();
var value = branch.substring(idx + 1);
var idx2 = typeStr.indexOf('[');
var idx3 = typeStr.indexOf(']');
if (idx2 > 0 && idx3 > idx2) {
var type = typeStr.substring(0, idx2).toUpperCase().trim();
var varName = typeStr.substring(idx2 + 1, idx3).trim();
return MessageBlockBranch._(
EnumToString.fromString(MessageBlockBranchType.values, type) ??
MessageBlockBranchType.defaultBranch,
varName,
MessageValue(value));
} else {
typeStr = typeStr.toUpperCase();
return MessageBlockBranch._(
EnumToString.fromString(MessageBlockBranchType.values, typeStr) ??
MessageBlockBranchType.defaultBranch,
null,
MessageValue(value));
}
}