process method
Implementation
TagserResult? process(ProcessMessage msg, TagserContext context) {
final charCode = msg.charCode;
if (charCode == charEos) {
return TagserResult(
err: TagserError(
code: errorUnexpectedEos, text: getError(errorUnexpectedEos, null)),
);
} else if (isFirstChar) {
isFirstChar = false;
if (charCode == charQuote || charCode == charSingleQuote) {
_quote = charCode!;
} else {
return TagserResult(
err: TagserError(
code: errorAttrValueMalformed,
text: getError(errorAttrValueMalformed, {}),
),
);
}
} else {
if (charCode == _quote) {
return TagserResult(
pop: true,
message: NotifyMessage(
type: notifyAttrValueResult, value: _value, charCode: charCode),
);
} else {
_value += String.fromCharCode(charCode!);
}
}
return null;
}