SplitterByContextMatch

case class SplitterByContextMatch[In, Elem, C](matcher: ContextMatcher[Elem, C], matcherPos: CallerPos)(implicit S: StackLike[In, Elem]) extends Splitter[In, C]
Companion:
object
trait Serializable
trait Product
trait Equals
trait Splitter[In, C]
class Object
trait Matchable
class Any

Value members

Inherited methods

def as[Out](implicit parser: Parser[In, Out]): Transformer[In, Out]

Like joinBy, but the parser is passed implicitly

Like joinBy, but the parser is passed implicitly

Inherited from:
Splitter
def flatMap[Out](transformMatches: ContextPush[In, C] => Transformer[In, Out]): Transformer[In, Out]

Creates a new transformer by attaching an "inner" transformer to each sub-stream based on the sub-stream context. For each sub-stream, a new transformer will be created, and the inputs from the sub-stream will be piped into the inner transformer. Anything that the inner transformer emits will be emitted by the returned transformer.

Creates a new transformer by attaching an "inner" transformer to each sub-stream based on the sub-stream context. For each sub-stream, a new transformer will be created, and the inputs from the sub-stream will be piped into the inner transformer. Anything that the inner transformer emits will be emitted by the returned transformer.

Inherited from:
Splitter
def joinBy[Out](parser: Parser[In, Out]): Transformer[In, Out]

Like map, but when you want to use the same parser for each sub-stream, regardless of the context value

Like map, but when you want to use the same parser for each sub-stream, regardless of the context value

Inherited from:
Splitter
def map[Out](parseMatches: C => Parser[In, Out]): Transformer[In, Out]

Creates a new transformer by attaching a new parser to each sub-stream based on the sub-stream context. For each sub-stream, a new parser will be created, and inputs from the sub-stream will be piped into that parser. When the sub-stream ends, or if the parser finishes on its own, the parser's result will be emitted as an Out event.

Creates a new transformer by attaching a new parser to each sub-stream based on the sub-stream context. For each sub-stream, a new parser will be created, and inputs from the sub-stream will be piped into that parser. When the sub-stream ends, or if the parser finishes on its own, the parser's result will be emitted as an Out event.

Type parameters:
Out

The parser's output type

Value parameters:
parseMatches

Given the context for a sub-stream, return a parser to handle that sub-stream

Returns:

A transformer that will emit the result of each parsed sub-stream

Inherited from:
Splitter
def mapTraced[Out](parseMatches: ContextPush[In, C] => Parser[In, Out]): Transformer[In, Out]

Like map, but using the ContextPush associated with the sub-stream, instead of just the context value itself.

Like map, but using the ContextPush associated with the sub-stream, instead of just the context value itself.

Inherited from:
Splitter
def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product

Concrete fields

val addBoundaries: Transformer[In, Either[ContextChange[In, C], In]]