Packages

package json

Handles stream parsing and traversing of json documents.

Source
package.scala
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. json
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package ast
  2. package circe
  3. package codec
  4. package interpolators
  5. package jsonpath
  6. package playJson
  7. package selector

    Contains a DSL to build a json selector.

    Contains a DSL to build a json selector. Start a selector with root and then chain the rest.

    val sel = root.index(10).?.fields("a", "b").compile

Type Members

  1. sealed trait IndexPredicate extends (Int) => Boolean
  2. sealed trait JsonContext extends AnyRef

    A JSON trace context, positioning the current location in the JSON value starting from the root.

  3. case class JsonException(msg: String, context: Option[JsonContext] = None, inner: Throwable = null) extends Exception with Product with Serializable
  4. class JsonMissingFieldException extends Exception
  5. case class JsonSelectorException(msg: String, idx: Int) extends Exception with Product with Serializable
  6. implicit final class JsonSelectorStringOps extends AnyVal
  7. sealed trait NamePredicate extends (String) => Boolean
  8. sealed trait Selector extends AnyRef

    Used to select tokens in a token stream.

  9. class SelectorParser[F[_]] extends AnyRef

    Parses a filter string.

    Parses a filter string. Syntax is as follows:

    Selector ::= `.`
               | Sel Sel*
    
    Sel ::= `.` Name `!`? `?`?
          | `.` `[` String (`,` String)* `]` `!`? `?`?
          | `.` `[` Integer (`,` Integer)* `]` `?`?
          | `.` `[` Integer `:` Integer `]` `?`?
          | `.` `[` `]` `?`?
    
    Name ::= [a-zA-Z_][a-zA-Z0-9_]*
    
    String ::= <a json string>
    
    Integer ::= 0
              | [1-9][0-9]*
  10. sealed abstract class Token extends AnyRef

Value Members

  1. def tokens[F[_], T](implicit F: RaiseThrowable[F], T: CharLikeChunks[F, T]): Pipe[F, T, Token]

    Transforms a stream of characters into a stream of Json tokens.

    Transforms a stream of characters into a stream of Json tokens. Emitted tokens are guaranteed to be valid up to that point. If the streams ends without failure, the sequence of tokens is sensured to represent a (potentially empty) sequence of valid Json documents.

  2. object IndexPredicate
  3. object JsonContext
  4. object NamePredicate
  5. object Selector
  6. object SelectorParser
  7. object Token
  8. object collector

    Json Token stream collectors.

  9. object literals
  10. object render

    Json Token stream pipes to render Json values.

  11. object wrap

    A collection of pipes to wrap streams inside objects.

Deprecated Value Members

  1. def filter[F[_]](selector: Selector, wrap: Boolean = false)(implicit F: RaiseThrowable[F]): Pipe[F, Token, Token]

    Filters the tokens according to the given selector sequence.

    Filters the tokens according to the given selector sequence. if wrap is set to true then values selected by array selector are wrapped into an array, and values selected by object selector are wrapped into an object with original key maintained.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.5.0) Use fs2.data.json.jsonpath.filter instead

  2. def tokenize[F[_], Json](implicit tokenizer: Tokenizer[Json]): Pipe[F, Json, Token]

    Transforms a stream of Json values into a stream of Json tokens.

    Transforms a stream of Json values into a stream of Json tokens.

    This operation is the opposite of values.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.3.0) Use fs2.data.json.ast.tokenize instead

  3. def transform[F[_], Json](selector: Selector, f: (Json) => Json)(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): Pipe[F, Token, Token]

    Transforms a stream of token into another one.

    Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. The rest of the stream is left unchanged.

    This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.3.0) Use fs2.data.json.ast.transform instead

  4. def transformF[F[_], Json](selector: Selector, f: (Json) => F[Json])(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): Pipe[F, Token, Token]

    Transforms a stream of token into another one.

    Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. The rest of the stream is left unchanged. The operation can fail, in case the returned F is failed at one step.

    This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.3.0) Use fs2.data.json.ast.transformF instead

  5. def transformOpt[F[_], Json](selector: Selector, f: (Json) => Option[Json])(implicit F: RaiseThrowable[F], builder: Builder[Json], tokenizer: Tokenizer[Json]): Pipe[F, Token, Token]

    Transforms a stream of token into another one.

    Transforms a stream of token into another one. The transformation function f is called on every selected value from upstream, and the resulting value replaces it. If the function returns None, then the entire value is dropped (and the object key it is located at, if any). The rest of the stream is left unchanged.

    This operator locally creates Json AST values using the fs2.data.json.ast.Builder, and returns tokens as emitted by the fs2.data.json.ast.Tokenizer on the resulting value.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.3.0) Use fs2.data.json.ast.transformOpt instead

  6. def values[F[_], Json](implicit F: RaiseThrowable[F], builder: Builder[Json]): Pipe[F, Token, Json]

    Transforms a stream of Json tokens into a stream of json values.

    Transforms a stream of Json tokens into a stream of json values.

    Annotations
    @deprecated
    Deprecated

    (Since version fs2-data 1.3.0) Use fs2.data.json.ast.values instead

Inherited from AnyRef

Inherited from Any

Ungrouped