MergeStrategy

zio.blocks.schema.json.MergeStrategy
See theMergeStrategy companion object
sealed trait MergeStrategy extends (DynamicOptic, Json, Json) => Json

Strategy for merging two JSON values.

A MergeStrategy is a function (DynamicOptic, Json, Json) => Json that determines how to merge two JSON values at a given path. The recurse method controls whether the merge driver should descend into containers (objects/arrays) or call apply directly.

When recurse returns true for a container type:

  • Objects are merged by key (union of keys, recursive merge on shared keys)
  • Arrays are merged by index (union of indices, recursive merge on shared indices)

When recurse returns false, apply is called with the container values directly.

Attributes

Companion
object
Source
MergeStrategy.scala
Graph
Supertypes
trait (DynamicOptic, Json, Json) => Json
class Object
trait Matchable
class Any
Known subtypes
object Auto
object Concat
class Custom
object Replace
object Shallow

Members list

Value members

Abstract methods

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
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

Inherited and Abstract methods

def apply(v1: DynamicOptic, v2: Json, v3: 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.

Inherited from:
Function3
Source
Function3.scala