Custom

zio.blocks.schema.json.MergeStrategy.Custom
final case class Custom(f: (DynamicOptic, Json, Json) => Json, r: (DynamicOptic, JsonType) => Boolean = ...) extends MergeStrategy

Custom merge strategy with full control over recursion and merging.

Value parameters

f

A function that takes (path, left, right) and returns the merged JSON value

r

A function that determines whether to recurse into containers (default: always recurse)

Attributes

Source
MergeStrategy.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
trait (DynamicOptic, Json, Json) => Json
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

def apply(path: DynamicOptic, left: Json, right: Json): Json

Applies the body of this function to the arguments.

Applies the body of this function to the arguments.

Value parameters

v1

the 1st argument

v2

the 2nd argument

v3

the 3rd argument

Attributes

Returns

the result of function application.

Source
MergeStrategy.scala
def recurse(path: DynamicOptic, jsonType: JsonType): Boolean

Determines whether the merge driver should recurse into a container (object or array) at the given path.

Determines whether the merge driver should recurse into a container (object or array) at the given path.

If true, the driver merges by key (objects) or by index (arrays), recursively calling merge on each child pair.

If false, the driver calls apply with the container values directly.

Attributes

Source
MergeStrategy.scala

Inherited methods

Creates a curried version of this function.

Creates a curried version of this function.

Attributes

Returns

a function f such that f(x1)(x2)(x3) == apply(x1, x2, x3)

Inherited from:
Function3
Source
Function3.scala
def productElementNames: Iterator[String]

An iterator over the names of all the elements of this product.

An iterator over the names of all the elements of this product.

Attributes

Inherited from:
Product
Source
Product.scala
def productIterator: Iterator[Any]

An iterator over all the elements of this product.

An iterator over all the elements of this product.

Attributes

Returns

in the default implementation, an Iterator[Any]

Inherited from:
Product
Source
Product.scala
override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Function3 -> Any
Inherited from:
Function3
Source
Function3.scala
def tupled: ((DynamicOptic, Json, Json)) => Json

Creates a tupled version of this function: instead of 3 arguments, it accepts a single scala.Tuple3 argument.

Creates a tupled version of this function: instead of 3 arguments, it accepts a single scala.Tuple3 argument.

Attributes

Returns

a function f such that f((x1, x2, x3)) == f(Tuple3(x1, x2, x3)) == apply(x1, x2, x3)

Inherited from:
Function3
Source
Function3.scala