process method

StubbleResult? process(
  1. ProcessMessage msg,
  2. StubbleContext context
)

Implementation

StubbleResult? process(ProcessMessage msg, StubbleContext context) {
  final charCode = msg.charCode;

  if (charCode == eos) {
    return StubbleResult(
        err: StubbleError(
            code: errorUnexpectedEndOfSource,
            text: 'unexpected end of source'));
  } else if (charCode == closeBracket) {
    return StubbleResult(
        err: StubbleError(
            text: 'If block condition malformed',
            code: errorIfBlockMalformed));
  } else if (charCode == space) {
    return null;
  } else {
    switch (_state) {
      case 0:
        return StubbleResult(
          state: GetAttributeState(),
          message: ProcessMessage(charCode: charCode),
        );

      case 1:
        return StubbleResult(
          state: GetConditionState(),
          message: ProcessMessage(charCode: charCode),
        );

      case 2:
        return StubbleResult(
          state: GetAttributeState(),
          message: ProcessMessage(charCode: charCode),
        );

      default:
        return null;
    }
  }
}