@diffson/core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. package/.turbo/turbo-build.log +1 -0
  2. package/.turbo/turbo-test.log +96 -0
  3. package/.turbo/turbo-typecheck.log +2 -0
  4. package/dist/contract/constant/DiffConstants.d.ts +9 -0
  5. package/dist/contract/constant/DiffConstants.d.ts.map +1 -0
  6. package/dist/contract/constant/DiffConstants.js +9 -0
  7. package/dist/contract/constant/DiffConstants.js.map +1 -0
  8. package/dist/contract/constant/PresetName.d.ts +7 -0
  9. package/dist/contract/constant/PresetName.d.ts.map +1 -0
  10. package/dist/contract/constant/PresetName.js +8 -0
  11. package/dist/contract/constant/PresetName.js.map +1 -0
  12. package/dist/contract/constant/index.d.ts +3 -0
  13. package/dist/contract/constant/index.d.ts.map +1 -0
  14. package/dist/contract/constant/index.js +3 -0
  15. package/dist/contract/constant/index.js.map +1 -0
  16. package/dist/contract/index.d.ts +3 -0
  17. package/dist/contract/index.d.ts.map +1 -0
  18. package/dist/contract/index.js +3 -0
  19. package/dist/contract/index.js.map +1 -0
  20. package/dist/contract/type/ArrayComparator.d.ts +9 -0
  21. package/dist/contract/type/ArrayComparator.d.ts.map +1 -0
  22. package/dist/contract/type/ArrayComparator.js +3 -0
  23. package/dist/contract/type/ArrayComparator.js.map +1 -0
  24. package/dist/contract/type/ComparatorOrchestrator.d.ts +10 -0
  25. package/dist/contract/type/ComparatorOrchestrator.d.ts.map +1 -0
  26. package/dist/contract/type/ComparatorOrchestrator.js +3 -0
  27. package/dist/contract/type/ComparatorOrchestrator.js.map +1 -0
  28. package/dist/contract/type/DiffService.d.ts +28 -0
  29. package/dist/contract/type/DiffService.d.ts.map +1 -0
  30. package/dist/contract/type/DiffService.js +3 -0
  31. package/dist/contract/type/DiffService.js.map +1 -0
  32. package/dist/contract/type/JsonTypes.d.ts +6 -0
  33. package/dist/contract/type/JsonTypes.d.ts.map +1 -0
  34. package/dist/contract/type/JsonTypes.js +2 -0
  35. package/dist/contract/type/JsonTypes.js.map +1 -0
  36. package/dist/contract/type/NullComparator.d.ts +7 -0
  37. package/dist/contract/type/NullComparator.d.ts.map +1 -0
  38. package/dist/contract/type/NullComparator.js +3 -0
  39. package/dist/contract/type/NullComparator.js.map +1 -0
  40. package/dist/contract/type/ObjectComparator.d.ts +9 -0
  41. package/dist/contract/type/ObjectComparator.d.ts.map +1 -0
  42. package/dist/contract/type/ObjectComparator.js +3 -0
  43. package/dist/contract/type/ObjectComparator.js.map +1 -0
  44. package/dist/contract/type/OtherComparator.d.ts +8 -0
  45. package/dist/contract/type/OtherComparator.d.ts.map +1 -0
  46. package/dist/contract/type/OtherComparator.js +3 -0
  47. package/dist/contract/type/OtherComparator.js.map +1 -0
  48. package/dist/contract/type/PrimitiveComparator.d.ts +7 -0
  49. package/dist/contract/type/PrimitiveComparator.d.ts.map +1 -0
  50. package/dist/contract/type/PrimitiveComparator.js +3 -0
  51. package/dist/contract/type/PrimitiveComparator.js.map +1 -0
  52. package/dist/contract/type/Result.d.ts +8 -0
  53. package/dist/contract/type/Result.d.ts.map +1 -0
  54. package/dist/contract/type/Result.js +8 -0
  55. package/dist/contract/type/Result.js.map +1 -0
  56. package/dist/contract/type/SingleNodeDifference.d.ts +8 -0
  57. package/dist/contract/type/SingleNodeDifference.d.ts.map +1 -0
  58. package/dist/contract/type/SingleNodeDifference.js +13 -0
  59. package/dist/contract/type/SingleNodeDifference.js.map +1 -0
  60. package/dist/contract/type/index.d.ts +11 -0
  61. package/dist/contract/type/index.d.ts.map +1 -0
  62. package/dist/contract/type/index.js +11 -0
  63. package/dist/contract/type/index.js.map +1 -0
  64. package/dist/index.d.ts +7 -0
  65. package/dist/index.d.ts.map +1 -0
  66. package/dist/index.js +9 -0
  67. package/dist/index.js.map +1 -0
  68. package/dist/service/comparator/ComparatorOrchestrator.d.ts +14 -0
  69. package/dist/service/comparator/ComparatorOrchestrator.d.ts.map +1 -0
  70. package/dist/service/comparator/ComparatorOrchestrator.js +56 -0
  71. package/dist/service/comparator/ComparatorOrchestrator.js.map +1 -0
  72. package/dist/service/comparator/array/AbstractArray.d.ts +12 -0
  73. package/dist/service/comparator/array/AbstractArray.d.ts.map +1 -0
  74. package/dist/service/comparator/array/AbstractArray.js +41 -0
  75. package/dist/service/comparator/array/AbstractArray.js.map +1 -0
  76. package/dist/service/comparator/array/SequentialArrayComparator.d.ts +10 -0
  77. package/dist/service/comparator/array/SequentialArrayComparator.d.ts.map +1 -0
  78. package/dist/service/comparator/array/SequentialArrayComparator.js +50 -0
  79. package/dist/service/comparator/array/SequentialArrayComparator.js.map +1 -0
  80. package/dist/service/comparator/array/SimilarArrayComparator.d.ts +22 -0
  81. package/dist/service/comparator/array/SimilarArrayComparator.d.ts.map +1 -0
  82. package/dist/service/comparator/array/SimilarArrayComparator.js +153 -0
  83. package/dist/service/comparator/array/SimilarArrayComparator.js.map +1 -0
  84. package/dist/service/comparator/array/index.d.ts +4 -0
  85. package/dist/service/comparator/array/index.d.ts.map +1 -0
  86. package/dist/service/comparator/array/index.js +4 -0
  87. package/dist/service/comparator/array/index.js.map +1 -0
  88. package/dist/service/comparator/index.d.ts +7 -0
  89. package/dist/service/comparator/index.d.ts.map +1 -0
  90. package/dist/service/comparator/index.js +7 -0
  91. package/dist/service/comparator/index.js.map +1 -0
  92. package/dist/service/comparator/nulls/DefaultNullComparator.d.ts +7 -0
  93. package/dist/service/comparator/nulls/DefaultNullComparator.d.ts.map +1 -0
  94. package/dist/service/comparator/nulls/DefaultNullComparator.js +7 -0
  95. package/dist/service/comparator/nulls/DefaultNullComparator.js.map +1 -0
  96. package/dist/service/comparator/nulls/index.d.ts +2 -0
  97. package/dist/service/comparator/nulls/index.d.ts.map +1 -0
  98. package/dist/service/comparator/nulls/index.js +2 -0
  99. package/dist/service/comparator/nulls/index.js.map +1 -0
  100. package/dist/service/comparator/object/AbstractObject.d.ts +17 -0
  101. package/dist/service/comparator/object/AbstractObject.d.ts.map +1 -0
  102. package/dist/service/comparator/object/AbstractObject.js +91 -0
  103. package/dist/service/comparator/object/AbstractObject.js.map +1 -0
  104. package/dist/service/comparator/object/LeftJoinObjectComparator.d.ts +9 -0
  105. package/dist/service/comparator/object/LeftJoinObjectComparator.d.ts.map +1 -0
  106. package/dist/service/comparator/object/LeftJoinObjectComparator.js +26 -0
  107. package/dist/service/comparator/object/LeftJoinObjectComparator.js.map +1 -0
  108. package/dist/service/comparator/object/UnionKeyObjectComparator.d.ts +9 -0
  109. package/dist/service/comparator/object/UnionKeyObjectComparator.d.ts.map +1 -0
  110. package/dist/service/comparator/object/UnionKeyObjectComparator.js +27 -0
  111. package/dist/service/comparator/object/UnionKeyObjectComparator.js.map +1 -0
  112. package/dist/service/comparator/object/index.d.ts +4 -0
  113. package/dist/service/comparator/object/index.d.ts.map +1 -0
  114. package/dist/service/comparator/object/index.js +4 -0
  115. package/dist/service/comparator/object/index.js.map +1 -0
  116. package/dist/service/comparator/other/DefaultOtherComparator.d.ts +7 -0
  117. package/dist/service/comparator/other/DefaultOtherComparator.d.ts.map +1 -0
  118. package/dist/service/comparator/other/DefaultOtherComparator.js +14 -0
  119. package/dist/service/comparator/other/DefaultOtherComparator.js.map +1 -0
  120. package/dist/service/comparator/other/index.d.ts +2 -0
  121. package/dist/service/comparator/other/index.d.ts.map +1 -0
  122. package/dist/service/comparator/other/index.js +2 -0
  123. package/dist/service/comparator/other/index.js.map +1 -0
  124. package/dist/service/comparator/primitive/DefaultPrimitiveComparator.d.ts +7 -0
  125. package/dist/service/comparator/primitive/DefaultPrimitiveComparator.d.ts.map +1 -0
  126. package/dist/service/comparator/primitive/DefaultPrimitiveComparator.js +17 -0
  127. package/dist/service/comparator/primitive/DefaultPrimitiveComparator.js.map +1 -0
  128. package/dist/service/comparator/primitive/index.d.ts +2 -0
  129. package/dist/service/comparator/primitive/index.d.ts.map +1 -0
  130. package/dist/service/comparator/primitive/index.js +2 -0
  131. package/dist/service/comparator/primitive/index.js.map +1 -0
  132. package/dist/service/diff/DiffContext.d.ts +14 -0
  133. package/dist/service/diff/DiffContext.d.ts.map +1 -0
  134. package/dist/service/diff/DiffContext.js +30 -0
  135. package/dist/service/diff/DiffContext.js.map +1 -0
  136. package/dist/service/diff/DiffService.d.ts +27 -0
  137. package/dist/service/diff/DiffService.d.ts.map +1 -0
  138. package/dist/service/diff/DiffService.js +185 -0
  139. package/dist/service/diff/DiffService.js.map +1 -0
  140. package/dist/service/diff/PathTracker.d.ts +22 -0
  141. package/dist/service/diff/PathTracker.d.ts.map +1 -0
  142. package/dist/service/diff/PathTracker.js +57 -0
  143. package/dist/service/diff/PathTracker.js.map +1 -0
  144. package/dist/service/diff/index.d.ts +2 -0
  145. package/dist/service/diff/index.d.ts.map +1 -0
  146. package/dist/service/diff/index.js +2 -0
  147. package/dist/service/diff/index.js.map +1 -0
  148. package/dist/service/index.d.ts +3 -0
  149. package/dist/service/index.d.ts.map +1 -0
  150. package/dist/service/index.js +3 -0
  151. package/dist/service/index.js.map +1 -0
  152. package/dist/util/TypeGuards.d.ts +7 -0
  153. package/dist/util/TypeGuards.d.ts.map +1 -0
  154. package/dist/util/TypeGuards.js +33 -0
  155. package/dist/util/TypeGuards.js.map +1 -0
  156. package/dist/util/index.d.ts +2 -0
  157. package/dist/util/index.d.ts.map +1 -0
  158. package/dist/util/index.js +2 -0
  159. package/dist/util/index.js.map +1 -0
  160. package/package.json +40 -0
  161. package/src/contract/constant/DiffConstants.ts +10 -0
  162. package/src/contract/constant/PresetName.ts +6 -0
  163. package/src/contract/constant/index.ts +2 -0
  164. package/src/contract/index.ts +2 -0
  165. package/src/contract/type/ArrayComparator.ts +15 -0
  166. package/src/contract/type/ComparatorOrchestrator.ts +16 -0
  167. package/src/contract/type/DiffService.ts +31 -0
  168. package/src/contract/type/JsonTypes.ts +3 -0
  169. package/src/contract/type/NullComparator.ts +9 -0
  170. package/src/contract/type/ObjectComparator.ts +15 -0
  171. package/src/contract/type/OtherComparator.ts +14 -0
  172. package/src/contract/type/PrimitiveComparator.ts +13 -0
  173. package/src/contract/type/Result.ts +7 -0
  174. package/src/contract/type/SingleNodeDifference.ts +13 -0
  175. package/src/contract/type/index.ts +10 -0
  176. package/src/index.ts +17 -0
  177. package/src/service/comparator/ComparatorOrchestrator.ts +50 -0
  178. package/src/service/comparator/array/AbstractArray.ts +34 -0
  179. package/src/service/comparator/array/SequentialArrayComparator.test.ts +46 -0
  180. package/src/service/comparator/array/SequentialArrayComparator.ts +48 -0
  181. package/src/service/comparator/array/SimilarArrayComparator.test.ts +37 -0
  182. package/src/service/comparator/array/SimilarArrayComparator.ts +211 -0
  183. package/src/service/comparator/array/index.ts +3 -0
  184. package/src/service/comparator/index.ts +6 -0
  185. package/src/service/comparator/nulls/DefaultNullComparator.test.ts +38 -0
  186. package/src/service/comparator/nulls/DefaultNullComparator.ts +9 -0
  187. package/src/service/comparator/nulls/index.ts +1 -0
  188. package/src/service/comparator/object/AbstractObject.ts +102 -0
  189. package/src/service/comparator/object/LeftJoinObjectComparator.test.ts +71 -0
  190. package/src/service/comparator/object/LeftJoinObjectComparator.ts +18 -0
  191. package/src/service/comparator/object/UnionKeyObjectComparator.test.ts +20 -0
  192. package/src/service/comparator/object/UnionKeyObjectComparator.ts +19 -0
  193. package/src/service/comparator/object/index.ts +3 -0
  194. package/src/service/comparator/other/DefaultOtherComparator.test.ts +48 -0
  195. package/src/service/comparator/other/DefaultOtherComparator.ts +23 -0
  196. package/src/service/comparator/other/index.ts +1 -0
  197. package/src/service/comparator/primitive/DefaultPrimitiveComparator.test.ts +50 -0
  198. package/src/service/comparator/primitive/DefaultPrimitiveComparator.ts +27 -0
  199. package/src/service/comparator/primitive/index.ts +1 -0
  200. package/src/service/diff/Diff.test.ts +113 -0
  201. package/src/service/diff/DiffContext.ts +37 -0
  202. package/src/service/diff/DiffService.test.ts +292 -0
  203. package/src/service/diff/DiffService.ts +245 -0
  204. package/src/service/diff/PathTracker.ts +71 -0
  205. package/src/service/diff/index.ts +1 -0
  206. package/src/service/index.ts +2 -0
  207. package/src/util/TypeGuards.test.ts +90 -0
  208. package/src/util/TypeGuards.ts +33 -0
  209. package/src/util/index.ts +1 -0
  210. package/tsconfig.json +11 -0
  211. package/tsconfig.tsbuildinfo +1 -0
@@ -0,0 +1 @@
1
+ $ tsc
@@ -0,0 +1,96 @@
1
+
2
+ $ bun test
3
+ bun test v1.3.5 (1e86cebd)
4
+ 
5
+ src/util/TypeGuards.test.ts:
6
+ ✓ TypeGuards > isJsonObject > should return true for objects [0.92ms]
7
+ ✓ TypeGuards > isJsonObject > should return false for non-objects [0.05ms]
8
+ ✓ TypeGuards > isJsonArray > should return true for arrays [0.02ms]
9
+ ✓ TypeGuards > isJsonArray > should return false for non-arrays [0.02ms]
10
+ ✓ TypeGuards > isJsonPrimitive > should return true for primitives [0.01ms]
11
+ ✓ TypeGuards > isJsonPrimitive > should return false for non-primitives [0.02ms]
12
+ ✓ TypeGuards > isJsonNull > should return true for null [0.02ms]
13
+ ✓ TypeGuards > isJsonNull > should return false for non-null [0.01ms]
14
+ ✓ TypeGuards > jsonElement2Str > should convert primitives to strings [0.03ms]
15
+ ✓ TypeGuards > jsonElement2Str > should return null for undefined
16
+ ✓ TypeGuards > jsonElement2Str > should return 'null' for null
17
+ ✓ TypeGuards > jsonElement2Str > should return placeholder for objects
18
+ ✓ TypeGuards > jsonElement2Str > should return placeholder for arrays
19
+ 
20
+ src/service/diff/Diff.test.ts:
21
+ ✓ DiffService > diffElement > should return empty array for identical objects [1.15ms]
22
+ ✓ DiffService > diffElement > should detect modified values [0.12ms]
23
+ ✓ DiffService > diffElement > should detect added fields [0.06ms]
24
+ ✓ DiffService > diffElement > should detect deleted fields [0.13ms]
25
+ ✓ DiffService > diffJson > should parse JSON strings and diff them [0.10ms]
26
+ ✓ DiffService > diffJson > should return empty array for identical JSON strings [0.09ms]
27
+ ✓ DiffService > diffJson > should throw error for invalid left JSON string [0.31ms]
28
+ ✓ DiffService > diffJson > should throw error for invalid right JSON string [0.02ms]
29
+ ✓ DiffService > nested objects > should handle nested objects [0.09ms]
30
+ 
31
+ src/service/diff/DiffService.test.ts:
32
+ ✓ DiffService > basic comparison > should return empty array for identical objects [0.10ms]
33
+ ✓ DiffService > basic comparison > should detect modified values [0.06ms]
34
+ [
35
+ Result {
36
+ leftPath: "items.[1]",
37
+ rightPath: "items.[1]",
38
+ left: "2",
39
+ right: "4",
40
+ diffType: "MODIFY",
41
+ }
42
+ ]
43
+ ✓ DiffService > withArrayComparator > should use sequential array comparator when configured [0.85ms]
44
+ ✓ DiffService > withArrayComparator > should reuse injector when configuration changes [0.40ms]
45
+ ✓ DiffService > preset > should use FullOrdered preset [0.04ms]
46
+ ✓ DiffService > preset > should use LeftSmart preset [0.03ms]
47
+ ✓ DiffService > preset > should use LeftOrdered preset [0.05ms]
48
+ ✓ DiffService > compareWithOptions > should ignore noise paths [0.06ms]
49
+ ✓ DiffService > compareWithOptions > should handle special paths [0.13ms]
50
+ ✓ DiffService > fluent API > should support method chaining [0.34ms]
51
+ ✓ DiffService - parseNestedJson > should parse nested JSON strings when parseNestedJson option is true [0.61ms]
52
+ ✓ DiffService - parseNestedJson > should not parse nested JSON strings when parseNestedJson option is false or undefined [0.07ms]
53
+ ✓ DiffService - parseNestedJson > should handle deeply nested JSON strings [0.09ms]
54
+ ✓ DiffService - parseNestedJson > should handle arrays containing JSON strings [0.11ms]
55
+ ✓ DiffService - parseNestedJson > should handle mixed content with both JSON strings and regular strings [0.07ms]
56
+ ✓ DiffService - parseNestedJson > should not fail on invalid JSON strings [0.07ms]
57
+ 
58
+ src/service/comparator/array/SequentialArrayComparator.test.ts:
59
+ ✓ SequentialArrayComparator > should compare arrays by index [0.13ms]
60
+ ✓ SequentialArrayComparator > should detect added elements [0.03ms]
61
+ ✓ SequentialArrayComparator > should detect deleted elements [0.04ms]
62
+ 
63
+ src/service/comparator/array/SimilarArrayComparator.test.ts:
64
+ ✓ SimilarArrayComparator > should match similar elements [0.04ms]
65
+ ✓ SimilarArrayComparator > should detect modifications in matched elements [0.10ms]
66
+ ✓ SimilarArrayComparator > should detect added elements [0.05ms]
67
+ 
68
+ src/service/comparator/primitive/DefaultPrimitiveComparator.test.ts:
69
+ ✓ DefaultPrimitiveComparator > should detect string changes
70
+ ✓ DefaultPrimitiveComparator > should detect number changes [0.12ms]
71
+ ✓ DefaultPrimitiveComparator > should detect boolean changes [0.02ms]
72
+ ✓ DefaultPrimitiveComparator > should not report identical primitives [0.03ms]
73
+ 
74
+ src/service/comparator/other/DefaultOtherComparator.test.ts:
75
+ ✓ DefaultOtherComparator > should detect type changes from object to array
76
+ ✓ DefaultOtherComparator > should detect type changes from array to primitive [0.22ms]
77
+ ✓ DefaultOtherComparator > should detect undefined to value [0.02ms]
78
+ ✓ DefaultOtherComparator > should detect value to undefined [0.04ms]
79
+ 
80
+ src/service/comparator/nulls/DefaultNullComparator.test.ts:
81
+ ✓ DefaultNullComparator > should not report differences for null vs null [0.23ms]
82
+ ✓ DefaultNullComparator > should detect null to value changes [0.16ms]
83
+ ✓ DefaultNullComparator > should detect value to null changes [0.03ms]
84
+ 
85
+ src/service/comparator/object/UnionKeyObjectComparator.test.ts:
86
+ ✓ UnionKeyObjectComparator > should compare all keys from both objects [0.12ms]
87
+ 
88
+ src/service/comparator/object/LeftJoinObjectComparator.test.ts:
89
+ ✓ LeftJoinObjectComparator > should only compare keys from left object [0.15ms]
90
+ ✓ LeftJoinObjectComparator > should detect changes in left keys [0.04ms]
91
+ ✓ LeftJoinObjectComparator > should detect missing keys in right object [0.03ms]
92
+
93
+  59 pass
94
+  0 fail
95
+ 154 expect() calls
96
+ Ran 59 tests across 10 files. [27.00ms]
@@ -0,0 +1,2 @@
1
+
2
+ $ tsc --noEmit
@@ -0,0 +1,9 @@
1
+ export declare const DIFFERENT = false;
2
+ export declare const SAME = true;
3
+ export declare const SPLIT_PATH = "\\.";
4
+ export declare const MERGE_PATH = ".";
5
+ export declare const OBJECT_NULL: null;
6
+ export declare const TYPE_MODIFY = "MODIFY";
7
+ export declare const TYPE_ADD = "ADD";
8
+ export declare const TYPE_DELETE = "DELETE";
9
+ //# sourceMappingURL=DiffConstants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffConstants.d.ts","sourceRoot":"","sources":["../../../src/contract/constant/DiffConstants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAAQ,CAAC;AAC/B,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,UAAU,QAAQ,CAAC;AAChC,eAAO,MAAM,UAAU,MAAM,CAAC;AAE9B,eAAO,MAAM,WAAW,MAAO,CAAC;AAChC,eAAO,MAAM,WAAW,WAAW,CAAC;AACpC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,WAAW,WAAW,CAAC"}
@@ -0,0 +1,9 @@
1
+ export const DIFFERENT = false;
2
+ export const SAME = true;
3
+ export const SPLIT_PATH = "\\.";
4
+ export const MERGE_PATH = ".";
5
+ export const OBJECT_NULL = null;
6
+ export const TYPE_MODIFY = "MODIFY";
7
+ export const TYPE_ADD = "ADD";
8
+ export const TYPE_DELETE = "DELETE";
9
+ //# sourceMappingURL=DiffConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffConstants.js","sourceRoot":"","sources":["../../../src/contract/constant/DiffConstants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC;AACzB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,CAAC;AAChC,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,CAAC;AAChC,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC;AAC9B,MAAM,CAAC,MAAM,WAAW,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare enum PresetName {
2
+ FullSmart = "fullSmart",
3
+ FullOrdered = "fullOrdered",
4
+ LeftSmart = "leftSmart",
5
+ LeftOrdered = "leftOrdered"
6
+ }
7
+ //# sourceMappingURL=PresetName.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresetName.d.ts","sourceRoot":"","sources":["../../../src/contract/constant/PresetName.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,SAAS,cAAc;IACvB,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,WAAW,gBAAgB;CAC5B"}
@@ -0,0 +1,8 @@
1
+ export var PresetName;
2
+ (function (PresetName) {
3
+ PresetName["FullSmart"] = "fullSmart";
4
+ PresetName["FullOrdered"] = "fullOrdered";
5
+ PresetName["LeftSmart"] = "leftSmart";
6
+ PresetName["LeftOrdered"] = "leftOrdered";
7
+ })(PresetName || (PresetName = {}));
8
+ //# sourceMappingURL=PresetName.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PresetName.js","sourceRoot":"","sources":["../../../src/contract/constant/PresetName.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,qCAAuB,CAAA;IACvB,yCAA2B,CAAA;IAC3B,qCAAuB,CAAA;IACvB,yCAA2B,CAAA;AAC7B,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB"}
@@ -0,0 +1,3 @@
1
+ export * from "./DiffConstants";
2
+ export * from "./PresetName";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/constant/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./DiffConstants";
2
+ export * from "./PresetName";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/constant/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./type";
2
+ export * from "./constant";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from "./type";
2
+ export * from "./constant";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { JsonArray, JsonValue } from "./JsonTypes";
2
+ import type { DiffContext } from "../../service/diff/DiffContext";
3
+ import type { PathTracker } from "../../service/diff/PathTracker";
4
+ export interface IArrayComparator {
5
+ diffArray(a: JsonArray, b: JsonArray, pathTracker: PathTracker): DiffContext;
6
+ diffElement(a: JsonValue | undefined, b: JsonValue | undefined, pathTracker: PathTracker): DiffContext;
7
+ }
8
+ export declare const IArrayComparator: import("@wendellhu/redi").IdentifierDecorator<IArrayComparator>;
9
+ //# sourceMappingURL=ArrayComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayComparator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/ArrayComparator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC;IAC7E,WAAW,CACT,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,WAAW,EAAE,WAAW,GACvB,WAAW,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB,iEAAyD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IArrayComparator = createIdentifier("IArrayComparator");
3
+ //# sourceMappingURL=ArrayComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArrayComparator.js","sourceRoot":"","sources":["../../../src/contract/type/ArrayComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAcnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAmB,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { JsonValue } from "./JsonTypes";
2
+ import type { DiffContext } from "../../service/diff/DiffContext";
3
+ import type { PathTracker } from "../../service/diff/PathTracker";
4
+ import type { IArrayComparator } from "./ArrayComparator";
5
+ export interface IComparatorOrchestrator {
6
+ diffElement(a: JsonValue | undefined, b: JsonValue | undefined, pathTracker: PathTracker): DiffContext;
7
+ getArrayComparator(): IArrayComparator;
8
+ }
9
+ export declare const IComparatorOrchestrator: import("@wendellhu/redi").IdentifierDecorator<IComparatorOrchestrator>;
10
+ //# sourceMappingURL=ComparatorOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparatorOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/ComparatorOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,WAAW,uBAAuB;IACtC,WAAW,CACT,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,WAAW,EAAE,WAAW,GACvB,WAAW,CAAC;IACf,kBAAkB,IAAI,gBAAgB,CAAC;CACxC;AAED,eAAO,MAAM,uBAAuB,wEAAuE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IComparatorOrchestrator = createIdentifier("IComparatorOrchestrator");
3
+ //# sourceMappingURL=ComparatorOrchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparatorOrchestrator.js","sourceRoot":"","sources":["../../../src/contract/type/ComparatorOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAenD,MAAM,CAAC,MAAM,uBAAuB,GAAG,gBAAgB,CAA0B,yBAAyB,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { JsonValue } from "./JsonTypes";
2
+ import type { Result } from "./Result";
3
+ export interface IDiffService {
4
+ /**
5
+ * Diff two JSON strings
6
+ * @param leftJson - Left JSON string
7
+ * @param rightJson - Right JSON string
8
+ * @returns Array of differences
9
+ */
10
+ diffJson(leftJson: string, rightJson: string, options?: {
11
+ noisePath?: string[];
12
+ specialPath?: string[];
13
+ parseNestedJson?: boolean;
14
+ }): Result[];
15
+ /**
16
+ * Diff two JSON objects directly
17
+ * @param left - Left JSON value
18
+ * @param right - Right JSON value
19
+ * @returns Array of differences
20
+ */
21
+ diffElement(left: JsonValue, right: JsonValue, options?: {
22
+ noisePath?: string[];
23
+ specialPath?: string[];
24
+ parseNestedJson?: boolean;
25
+ }): Result[];
26
+ }
27
+ export declare const IDiffService: import("@wendellhu/redi").IdentifierDecorator<IDiffService>;
28
+ //# sourceMappingURL=DiffService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffService.d.ts","sourceRoot":"","sources":["../../../src/contract/type/DiffService.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,YAAY;IAC3B;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QACtD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,MAAM,EAAE,CAAC;IAEb;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE;QACvD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,MAAM,EAAE,CAAC;CACd;AAED,eAAO,MAAM,YAAY,6DAAiD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IDiffService = createIdentifier("IDiffService");
3
+ //# sourceMappingURL=DiffService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiffService.js","sourceRoot":"","sources":["../../../src/contract/type/DiffService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AA8BnD,MAAM,CAAC,MAAM,YAAY,GAAG,gBAAgB,CAAe,cAAc,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
2
+ export type JsonObject = {
3
+ [key: string]: JsonValue;
4
+ };
5
+ export type JsonArray = JsonValue[];
6
+ //# sourceMappingURL=JsonTypes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonTypes.d.ts","sourceRoot":"","sources":["../../../src/contract/type/JsonTypes.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,CAAC;AAClF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AACtD,MAAM,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=JsonTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonTypes.js","sourceRoot":"","sources":["../../../src/contract/type/JsonTypes.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import type { DiffContext } from "../../service/diff/DiffContext";
2
+ import type { PathTracker } from "../../service/diff/PathTracker";
3
+ export interface INullComparator {
4
+ diff(a: null, b: null, pathTracker: PathTracker): DiffContext;
5
+ }
6
+ export declare const INullComparator: import("@wendellhu/redi").IdentifierDecorator<INullComparator>;
7
+ //# sourceMappingURL=NullComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullComparator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/NullComparator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC;CAC/D;AAED,eAAO,MAAM,eAAe,gEAAuD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const INullComparator = createIdentifier("INullComparator");
3
+ //# sourceMappingURL=NullComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NullComparator.js","sourceRoot":"","sources":["../../../src/contract/type/NullComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAQnD,MAAM,CAAC,MAAM,eAAe,GAAG,gBAAgB,CAAkB,iBAAiB,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { JsonObject, JsonValue } from "./JsonTypes";
2
+ import type { DiffContext } from "../../service/diff/DiffContext";
3
+ import type { PathTracker } from "../../service/diff/PathTracker";
4
+ export interface IObjectComparator {
5
+ diff(a: JsonObject, b: JsonObject, pathTracker: PathTracker): DiffContext;
6
+ diffElement(a: JsonValue | undefined, b: JsonValue | undefined, pathTracker: PathTracker): DiffContext;
7
+ }
8
+ export declare const IObjectComparator: import("@wendellhu/redi").IdentifierDecorator<IObjectComparator>;
9
+ //# sourceMappingURL=ObjectComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectComparator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/ObjectComparator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,WAAW,CAAC;IAC1E,WAAW,CACT,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,WAAW,EAAE,WAAW,GACvB,WAAW,CAAC;CAChB;AAED,eAAO,MAAM,iBAAiB,kEAA2D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IObjectComparator = createIdentifier("IObjectComparator");
3
+ //# sourceMappingURL=ObjectComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectComparator.js","sourceRoot":"","sources":["../../../src/contract/type/ObjectComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAcnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAoB,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { JsonValue } from "./JsonTypes";
2
+ import type { DiffContext } from "../../service/diff/DiffContext";
3
+ import type { PathTracker } from "../../service/diff/PathTracker";
4
+ export interface IOtherComparator {
5
+ diff(a: JsonValue | undefined, b: JsonValue | undefined, pathTracker: PathTracker): DiffContext;
6
+ }
7
+ export declare const IOtherComparator: import("@wendellhu/redi").IdentifierDecorator<IOtherComparator>;
8
+ //# sourceMappingURL=OtherComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherComparator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/OtherComparator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CACF,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,WAAW,EAAE,WAAW,GACvB,WAAW,CAAC;CAChB;AAED,eAAO,MAAM,gBAAgB,iEAAyD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IOtherComparator = createIdentifier("IOtherComparator");
3
+ //# sourceMappingURL=OtherComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherComparator.js","sourceRoot":"","sources":["../../../src/contract/type/OtherComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAanD,MAAM,CAAC,MAAM,gBAAgB,GAAG,gBAAgB,CAAmB,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { DiffContext } from "../../service/diff/DiffContext";
2
+ import type { PathTracker } from "../../service/diff/PathTracker";
3
+ export interface IPrimitiveComparator {
4
+ diff(a: string | number | boolean, b: string | number | boolean, pathTracker: PathTracker): DiffContext;
5
+ }
6
+ export declare const IPrimitiveComparator: import("@wendellhu/redi").IdentifierDecorator<IPrimitiveComparator>;
7
+ //# sourceMappingURL=PrimitiveComparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveComparator.d.ts","sourceRoot":"","sources":["../../../src/contract/type/PrimitiveComparator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,WAAW,oBAAoB;IACnC,IAAI,CACF,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAC5B,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAC5B,WAAW,EAAE,WAAW,GACvB,WAAW,CAAC;CAChB;AAED,eAAO,MAAM,oBAAoB,qEAAiE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createIdentifier } from "@wendellhu/redi";
2
+ export const IPrimitiveComparator = createIdentifier("IPrimitiveComparator");
3
+ //# sourceMappingURL=PrimitiveComparator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PrimitiveComparator.js","sourceRoot":"","sources":["../../../src/contract/type/PrimitiveComparator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAYnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAuB,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare class Result {
2
+ leftPath: string | null;
3
+ rightPath: string | null;
4
+ left: unknown;
5
+ right: unknown;
6
+ diffType: string;
7
+ }
8
+ //# sourceMappingURL=Result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.d.ts","sourceRoot":"","sources":["../../../src/contract/type/Result.ts"],"names":[],"mappings":"AAAA,qBAAa,MAAM;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChC,IAAI,EAAE,OAAO,CAAQ;IACrB,KAAK,EAAE,OAAO,CAAQ;IACtB,QAAQ,EAAE,MAAM,CAAM;CACvB"}
@@ -0,0 +1,8 @@
1
+ export class Result {
2
+ leftPath = null;
3
+ rightPath = null;
4
+ left = null;
5
+ right = null;
6
+ diffType = "";
7
+ }
8
+ //# sourceMappingURL=Result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Result.js","sourceRoot":"","sources":["../../../src/contract/type/Result.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,MAAM;IACjB,QAAQ,GAAkB,IAAI,CAAC;IAC/B,SAAS,GAAkB,IAAI,CAAC;IAChC,IAAI,GAAY,IAAI,CAAC;IACrB,KAAK,GAAY,IAAI,CAAC;IACtB,QAAQ,GAAW,EAAE,CAAC;CACvB"}
@@ -0,0 +1,8 @@
1
+ export declare class SingleNodeDifference {
2
+ leftPath: string;
3
+ rightPath: string;
4
+ left: unknown;
5
+ right: unknown;
6
+ constructor(leftPath: string, rightPath: string, left: unknown, right: unknown);
7
+ }
8
+ //# sourceMappingURL=SingleNodeDifference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleNodeDifference.d.ts","sourceRoot":"","sources":["../../../src/contract/type/SingleNodeDifference.ts"],"names":[],"mappings":"AAAA,qBAAa,oBAAoB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;gBAEH,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;CAM/E"}
@@ -0,0 +1,13 @@
1
+ export class SingleNodeDifference {
2
+ leftPath;
3
+ rightPath;
4
+ left;
5
+ right;
6
+ constructor(leftPath, rightPath, left, right) {
7
+ this.leftPath = leftPath;
8
+ this.rightPath = rightPath;
9
+ this.left = left;
10
+ this.right = right;
11
+ }
12
+ }
13
+ //# sourceMappingURL=SingleNodeDifference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleNodeDifference.js","sourceRoot":"","sources":["../../../src/contract/type/SingleNodeDifference.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,oBAAoB;IAC/B,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,IAAI,CAAU;IACd,KAAK,CAAU;IAEf,YAAY,QAAgB,EAAE,SAAiB,EAAE,IAAa,EAAE,KAAc;QAC5E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,11 @@
1
+ export * from "./JsonTypes";
2
+ export * from "./Result";
3
+ export * from "./SingleNodeDifference";
4
+ export * from "./ComparatorOrchestrator";
5
+ export * from "./ObjectComparator";
6
+ export * from "./ArrayComparator";
7
+ export * from "./PrimitiveComparator";
8
+ export * from "./NullComparator";
9
+ export * from "./OtherComparator";
10
+ export * from "./DiffService";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contract/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from "./JsonTypes";
2
+ export * from "./Result";
3
+ export * from "./SingleNodeDifference";
4
+ export * from "./ComparatorOrchestrator";
5
+ export * from "./ObjectComparator";
6
+ export * from "./ArrayComparator";
7
+ export * from "./PrimitiveComparator";
8
+ export * from "./NullComparator";
9
+ export * from "./OtherComparator";
10
+ export * from "./DiffService";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contract/type/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type { JsonValue, JsonObject, JsonArray } from "./contract/type/JsonTypes";
2
+ export { Result } from "./contract/type/Result";
3
+ export * from "./contract/type/DiffService";
4
+ export { TYPE_ADD, TYPE_DELETE, TYPE_MODIFY, } from "./contract/constant";
5
+ export { PresetName } from "./contract/constant/PresetName";
6
+ export { DiffService } from "./service";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAG5C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAG5D,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,9 @@
1
+ export { Result } from "./contract/type/Result";
2
+ export * from "./contract/type/DiffService";
3
+ // Public API - Constants
4
+ export { TYPE_ADD, TYPE_DELETE, TYPE_MODIFY, } from "./contract/constant";
5
+ // Public API - Enums
6
+ export { PresetName } from "./contract/constant/PresetName";
7
+ // Public API - Service
8
+ export { DiffService } from "./service";
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAE5C,yBAAyB;AACzB,OAAO,EACL,QAAQ,EACR,WAAW,EACX,WAAW,GACZ,MAAM,qBAAqB,CAAC;AAE7B,qBAAqB;AACrB,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,uBAAuB;AACvB,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { type IComparatorOrchestrator, type IObjectComparator, type IArrayComparator, type IPrimitiveComparator, type INullComparator, type IOtherComparator, type JsonValue } from "../../contract/type";
2
+ import { DiffContext } from "../diff/DiffContext";
3
+ import type { PathTracker } from "../diff/PathTracker";
4
+ export declare class ComparatorOrchestrator implements IComparatorOrchestrator {
5
+ protected objectComparator: IObjectComparator;
6
+ protected arrayComparator: IArrayComparator;
7
+ protected primitiveComparator: IPrimitiveComparator;
8
+ protected nullComparator: INullComparator;
9
+ protected otherComparator: IOtherComparator;
10
+ constructor(objectComparator: IObjectComparator, arrayComparator: IArrayComparator, primitiveComparator: IPrimitiveComparator, nullComparator: INullComparator, otherComparator: IOtherComparator);
11
+ diffElement(a: JsonValue | undefined, b: JsonValue | undefined, pathTracker: PathTracker): DiffContext;
12
+ getArrayComparator(): IArrayComparator;
13
+ }
14
+ //# sourceMappingURL=ComparatorOrchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ComparatorOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/service/comparator/ComparatorOrchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,uBAAuB,EAC5B,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAErB,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EAEpB,KAAK,gBAAgB,EAErB,KAAK,SAAS,EACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,qBAAa,sBAAuB,YAAW,uBAAuB;IAElC,SAAS,CAAC,gBAAgB,EAAE,iBAAiB;IAC9C,SAAS,CAAC,eAAe,EAAE,gBAAgB;IACvC,SAAS,CAAC,mBAAmB,EAAE,oBAAoB;IACxD,SAAS,CAAC,cAAc,EAAE,eAAe;IACxC,SAAS,CAAC,eAAe,EAAE,gBAAgB;gBAJhC,gBAAgB,EAAE,iBAAiB,EACpC,eAAe,EAAE,gBAAgB,EAC7B,mBAAmB,EAAE,oBAAoB,EAC9C,cAAc,EAAE,eAAe,EAC9B,eAAe,EAAE,gBAAgB;IAG5E,WAAW,CACT,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,CAAC,EAAE,SAAS,GAAG,SAAS,EACxB,WAAW,EAAE,WAAW,GACvB,WAAW;IAcd,kBAAkB,IAAI,gBAAgB;CAGvC"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
8
+ return function (target, key) { decorator(target, key, paramIndex); }
9
+ };
10
+ import { Inject } from "@wendellhu/redi";
11
+ import { IObjectComparator as IObjectComparatorToken, IArrayComparator as IArrayComparatorToken, IPrimitiveComparator as IPrimitiveComparatorToken, INullComparator as INullComparatorToken, IOtherComparator as IOtherComparatorToken, } from "../../contract/type";
12
+ import { DiffContext } from "../diff/DiffContext";
13
+ import { isJsonObject, isJsonArray, isJsonPrimitive, isJsonNull } from "../../util";
14
+ let ComparatorOrchestrator = class ComparatorOrchestrator {
15
+ objectComparator;
16
+ arrayComparator;
17
+ primitiveComparator;
18
+ nullComparator;
19
+ otherComparator;
20
+ constructor(objectComparator, arrayComparator, primitiveComparator, nullComparator, otherComparator) {
21
+ this.objectComparator = objectComparator;
22
+ this.arrayComparator = arrayComparator;
23
+ this.primitiveComparator = primitiveComparator;
24
+ this.nullComparator = nullComparator;
25
+ this.otherComparator = otherComparator;
26
+ }
27
+ diffElement(a, b, pathTracker) {
28
+ if (isJsonObject(a) && isJsonObject(b)) {
29
+ return this.objectComparator.diff(a, b, pathTracker);
30
+ }
31
+ else if (isJsonArray(a) && isJsonArray(b)) {
32
+ return this.arrayComparator.diffArray(a, b, pathTracker);
33
+ }
34
+ else if (isJsonPrimitive(a) && isJsonPrimitive(b)) {
35
+ return this.primitiveComparator.diff(a, b, pathTracker);
36
+ }
37
+ else if (isJsonNull(a) && isJsonNull(b)) {
38
+ return this.nullComparator.diff(a, b, pathTracker);
39
+ }
40
+ else {
41
+ return this.otherComparator.diff(a, b, pathTracker);
42
+ }
43
+ }
44
+ getArrayComparator() {
45
+ return this.arrayComparator;
46
+ }
47
+ };
48
+ ComparatorOrchestrator = __decorate([
49
+ __param(0, Inject(IObjectComparatorToken)),
50
+ __param(1, Inject(IArrayComparatorToken)),
51
+ __param(2, Inject(IPrimitiveComparatorToken)),
52
+ __param(3, Inject(INullComparatorToken)),
53
+ __param(4, Inject(IOtherComparatorToken))
54
+ ], ComparatorOrchestrator);
55
+ export { ComparatorOrchestrator };
56
+ //# sourceMappingURL=ComparatorOrchestrator.js.map