vavr-io / vavr-jackson

Jackson datatype module for Vavr
Apache License 2.0
97 stars 35 forks source link

Refactoring: determine keyComparator at construction time #161

Closed mincong-h closed 4 years ago

mincong-h commented 4 years ago

For map-like deserializer, determine keyComparator at construction time instead of resolution time (ResolvableDeserializer#resolve). It allows us to have a deterministic key-comparator during the entire lifecycle of a deserializer.

-    Comparator<Object> keyComparator;
+    final Comparator<Object> keyComparator;
codecov-commenter commented 4 years ago

Codecov Report

Merging #161 into master will decrease coverage by 0.01%. The diff coverage is 100.00%.

Impacted file tree graph

@@             Coverage Diff              @@
##             master     #161      +/-   ##
============================================
- Coverage     93.26%   93.24%   -0.02%     
  Complexity      339      339              
============================================
  Files            47       47              
  Lines           787      785       -2     
  Branches        173      172       -1     
============================================
- Hits            734      732       -2     
  Misses           24       24              
  Partials         29       29              
Impacted Files Coverage Δ Complexity Δ
.../jackson/datatype/deserialize/MapDeserializer.java 100.00% <100.00%> (ø) 9.00 <2.00> (ø)
...kson/datatype/deserialize/MaplikeDeserializer.java 100.00% <100.00%> (ø) 10.00 <4.00> (ø)
...son/datatype/deserialize/MultimapDeserializer.java 100.00% <100.00%> (ø) 9.00 <2.00> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update d6675f7...03f0cc9. Read the comment docs.

ruslansennov commented 4 years ago

@mincong-h there is a issue to release this module, so please let me know when you finish all refactoring

mincong-h commented 4 years ago

@mincong-h there is a issue to release this module, so please let me know when you finish all refactoring

@ruslansennov I am all done with the refactoring and I don't plan to do more. You can release this module. Thank you for waiting me.