parseOn method

  1. @override
Result<Token<R>> parseOn(
  1. Context context
)
override

Primitive method doing the actual parsing.

The method is overridden in concrete subclasses to implement the parser specific logic. The methods takes a parse context and returns the resulting context, which is either a Success or Failure context.

Implementation

@override
Result<Token<R>> parseOn(Context context) {
  final result = delegate.parseOn(context);
  if (result.isSuccess) {
    final token = Token<R>(
        result.value, context.buffer, context.position, result.position);
    return result.success(token);
  } else {
    return result.failure(result.message);
  }
}