Implicit conversions for combining ToBytes and FromBytes w/ circe Encoders and Decoders
This is an interesting scala question/problem ...
This is an interesting scala question/problem ... we just have json numbers, so we don't know if they're ints, longs, big decimals, etc.
Presumably we want to avoid a costly bigdecimal conversion/comparison (or perhaps not ... I need to check the actual overhead). But assuming we do, then we want subclasses to provide the minimum overhead. We shouldn't make them e.g. specify "greater than or equal to" for each numeric type (BigDecimal and Long), but rather just use long and then fall-back on big decimal if that's what we need.
Represents a json value within an array
Represents a json value within an array
the value to find within an array
Represents a json field (e.g.
Represents a json field (e.g. the 'foo' in 'foo.bar')
the field name
Represents a predicate for a particular field
Represents a predicate for a particular field
the json field
the predicate to evaluate against the field
A JMatcher is a predicate for evaluating json.
A JMatcher is a predicate for evaluating json. A JMatcher can:
1) check if a JPath exists 2) support boolean alegebra ('and-ing','or-ing', 'not' )
represents part of a json path e.g.
represents part of a json path e.g.
foo/2/{x == 3}
would be represented as
JField("foo") :: JPos(2) :: JFilterValue("x", 3) :: Nil
Represents a json path (like an xpath is to xml)
Represents a json path (like an xpath is to xml)
the segments of the path
Represents a position in an array
Represents a position in an array
the array index
A JPredicate is a predicate specifically for matching Json values.
A JPredicate is a predicate specifically for matching Json values.
The predicate itself can also be represented as json
Represents changes to some json
Represents changes to some json
the jpaths to remove
the json to append
merges the two json objects together, where array fields are concatenated
merges the two json objects together, where array fields are concatenated
the json which is the target of this operation
the json to add to the target json
the targetJson with common entries found in jsonToRemove removed
Removes common values from 'that' f