process method

TagserResult? process(
  1. ProcessMessage msg,
  2. TagserContext context
)

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 (TagserUtils.isAvailableCharacter(charCode)) {
    return TagserResult(
      state: AttrState(),
      message: InitMessage(charCode: charCode),
    );
  } else if (charCode == charSlash) {
    return TagserResult(
      state: GetCloseBracket(),
    );
  } else if (charCode == charCloseBracket) {
    return TagserResult(
      state: RootState(_tag),
    );
  } else if (charCode == charSpace) {
    return null;
  } else {
    return TagserResult(
      err: TagserError(
          code: errorTagMalformed, text: getError(errorTagMalformed, null)),
    );
  }
}