@creative-introvert/tons-of-tests 0.4.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 (266) hide show
  1. package/README.md +273 -0
  2. package/dist/cjs/Classify.js +36 -0
  3. package/dist/cjs/Classify.js.map +1 -0
  4. package/dist/cjs/DisplayConfig.js +34 -0
  5. package/dist/cjs/DisplayConfig.js.map +1 -0
  6. package/dist/cjs/Error.js +35 -0
  7. package/dist/cjs/Error.js.map +1 -0
  8. package/dist/cjs/Show.js +27 -0
  9. package/dist/cjs/Show.js.map +1 -0
  10. package/dist/cjs/Test.js +36 -0
  11. package/dist/cjs/Test.js.map +1 -0
  12. package/dist/cjs/Test.repository.js +37 -0
  13. package/dist/cjs/Test.repository.js.map +1 -0
  14. package/dist/cjs/index.js +51 -0
  15. package/dist/cjs/index.js.map +1 -0
  16. package/dist/cjs/internal/Classify.js +123 -0
  17. package/dist/cjs/internal/Classify.js.map +1 -0
  18. package/dist/cjs/internal/DisplayConfig.js +23 -0
  19. package/dist/cjs/internal/DisplayConfig.js.map +1 -0
  20. package/dist/cjs/internal/Test.js +178 -0
  21. package/dist/cjs/internal/Test.js.map +1 -0
  22. package/dist/cjs/internal/Test.repository.sqlite.js +230 -0
  23. package/dist/cjs/internal/Test.repository.sqlite.js.map +1 -0
  24. package/dist/cjs/internal/Test.repository.sqlite.spec.js +96 -0
  25. package/dist/cjs/internal/Test.repository.sqlite.spec.js.map +1 -0
  26. package/dist/cjs/internal/common.js +70 -0
  27. package/dist/cjs/internal/common.js.map +1 -0
  28. package/dist/cjs/internal/diff.js +86 -0
  29. package/dist/cjs/internal/diff.js.map +1 -0
  30. package/dist/cjs/internal/format-diff.js +162 -0
  31. package/dist/cjs/internal/format-diff.js.map +1 -0
  32. package/dist/cjs/internal/format-diff.spec.js +102 -0
  33. package/dist/cjs/internal/format-diff.spec.js.map +1 -0
  34. package/dist/cjs/internal/lib/Schema.js +39 -0
  35. package/dist/cjs/internal/lib/Schema.js.map +1 -0
  36. package/dist/cjs/internal/lib/jsondiffpatch/clone.js +35 -0
  37. package/dist/cjs/internal/lib/jsondiffpatch/clone.js.map +1 -0
  38. package/dist/cjs/internal/lib/jsondiffpatch/contexts/context.js +47 -0
  39. package/dist/cjs/internal/lib/jsondiffpatch/contexts/context.js.map +1 -0
  40. package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js +42 -0
  41. package/dist/cjs/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -0
  42. package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js +26 -0
  43. package/dist/cjs/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -0
  44. package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js +25 -0
  45. package/dist/cjs/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -0
  46. package/dist/cjs/internal/lib/jsondiffpatch/date-reviver.js +18 -0
  47. package/dist/cjs/internal/lib/jsondiffpatch/date-reviver.js.map +1 -0
  48. package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js +76 -0
  49. package/dist/cjs/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -0
  50. package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js +388 -0
  51. package/dist/cjs/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -0
  52. package/dist/cjs/internal/lib/jsondiffpatch/filters/dates.js +24 -0
  53. package/dist/cjs/internal/lib/jsondiffpatch/filters/dates.js.map +1 -0
  54. package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js +78 -0
  55. package/dist/cjs/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -0
  56. package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js +157 -0
  57. package/dist/cjs/internal/lib/jsondiffpatch/filters/nested.js.map +1 -0
  58. package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js +123 -0
  59. package/dist/cjs/internal/lib/jsondiffpatch/filters/texts.js.map +1 -0
  60. package/dist/cjs/internal/lib/jsondiffpatch/filters/trivial.js +108 -0
  61. package/dist/cjs/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -0
  62. package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js +169 -0
  63. package/dist/cjs/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -0
  64. package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js +198 -0
  65. package/dist/cjs/internal/lib/jsondiffpatch/formatters/base.js.map +1 -0
  66. package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js +243 -0
  67. package/dist/cjs/internal/lib/jsondiffpatch/formatters/html.js.map +1 -0
  68. package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js +178 -0
  69. package/dist/cjs/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -0
  70. package/dist/cjs/internal/lib/jsondiffpatch/index.js +65 -0
  71. package/dist/cjs/internal/lib/jsondiffpatch/index.js.map +1 -0
  72. package/dist/cjs/internal/lib/jsondiffpatch/pipe.js +110 -0
  73. package/dist/cjs/internal/lib/jsondiffpatch/pipe.js.map +1 -0
  74. package/dist/cjs/internal/lib/jsondiffpatch/processor.js +71 -0
  75. package/dist/cjs/internal/lib/jsondiffpatch/processor.js.map +1 -0
  76. package/dist/cjs/internal/lib/jsondiffpatch/types.js +6 -0
  77. package/dist/cjs/internal/lib/jsondiffpatch/types.js.map +1 -0
  78. package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js +92 -0
  79. package/dist/cjs/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -0
  80. package/dist/cjs/internal/pack.js +81 -0
  81. package/dist/cjs/internal/pack.js.map +1 -0
  82. package/dist/cjs/internal/stats.js +144 -0
  83. package/dist/cjs/internal/stats.js.map +1 -0
  84. package/dist/cjs/internal/summarize.js +173 -0
  85. package/dist/cjs/internal/summarize.js.map +1 -0
  86. package/dist/cjs/pack.js +33 -0
  87. package/dist/cjs/pack.js.map +1 -0
  88. package/dist/cjs/prelude.js +95 -0
  89. package/dist/cjs/prelude.js.map +1 -0
  90. package/dist/dts/Classify.d.ts +20 -0
  91. package/dist/dts/Classify.d.ts.map +1 -0
  92. package/dist/dts/DisplayConfig.d.ts +19 -0
  93. package/dist/dts/DisplayConfig.d.ts.map +1 -0
  94. package/dist/dts/Error.d.ts +10 -0
  95. package/dist/dts/Error.d.ts.map +1 -0
  96. package/dist/dts/Show.d.ts +37 -0
  97. package/dist/dts/Show.d.ts.map +1 -0
  98. package/dist/dts/Test.d.ts +48 -0
  99. package/dist/dts/Test.d.ts.map +1 -0
  100. package/dist/dts/Test.repository.d.ts +40 -0
  101. package/dist/dts/Test.repository.d.ts.map +1 -0
  102. package/dist/dts/index.d.ts +8 -0
  103. package/dist/dts/index.d.ts.map +1 -0
  104. package/dist/dts/internal/Classify.d.ts +34 -0
  105. package/dist/dts/internal/Classify.d.ts.map +1 -0
  106. package/dist/dts/internal/DisplayConfig.d.ts +3 -0
  107. package/dist/dts/internal/DisplayConfig.d.ts.map +1 -0
  108. package/dist/dts/internal/Test.d.ts +39 -0
  109. package/dist/dts/internal/Test.d.ts.map +1 -0
  110. package/dist/dts/internal/Test.repository.sqlite.d.ts +10 -0
  111. package/dist/dts/internal/Test.repository.sqlite.d.ts.map +1 -0
  112. package/dist/dts/internal/Test.repository.sqlite.spec.d.ts +2 -0
  113. package/dist/dts/internal/Test.repository.sqlite.spec.d.ts.map +1 -0
  114. package/dist/dts/internal/common.d.ts +11 -0
  115. package/dist/dts/internal/common.d.ts.map +1 -0
  116. package/dist/dts/internal/diff.d.ts +9 -0
  117. package/dist/dts/internal/diff.d.ts.map +1 -0
  118. package/dist/dts/internal/format-diff.d.ts +3 -0
  119. package/dist/dts/internal/format-diff.d.ts.map +1 -0
  120. package/dist/dts/internal/format-diff.spec.d.ts +2 -0
  121. package/dist/dts/internal/format-diff.spec.d.ts.map +1 -0
  122. package/dist/dts/internal/lib/Schema.d.ts +4 -0
  123. package/dist/dts/internal/lib/Schema.d.ts.map +1 -0
  124. package/dist/dts/internal/lib/jsondiffpatch/clone.d.ts +2 -0
  125. package/dist/dts/internal/lib/jsondiffpatch/clone.d.ts.map +1 -0
  126. package/dist/dts/internal/lib/jsondiffpatch/contexts/context.d.ts +18 -0
  127. package/dist/dts/internal/lib/jsondiffpatch/contexts/context.d.ts.map +1 -0
  128. package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts +15 -0
  129. package/dist/dts/internal/lib/jsondiffpatch/contexts/diff.d.ts.map +1 -0
  130. package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts +11 -0
  131. package/dist/dts/internal/lib/jsondiffpatch/contexts/patch.d.ts.map +1 -0
  132. package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts +11 -0
  133. package/dist/dts/internal/lib/jsondiffpatch/contexts/reverse.d.ts.map +1 -0
  134. package/dist/dts/internal/lib/jsondiffpatch/date-reviver.d.ts +2 -0
  135. package/dist/dts/internal/lib/jsondiffpatch/date-reviver.d.ts.map +1 -0
  136. package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts +14 -0
  137. package/dist/dts/internal/lib/jsondiffpatch/diffpatcher.d.ts.map +1 -0
  138. package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts +16 -0
  139. package/dist/dts/internal/lib/jsondiffpatch/filters/arrays.d.ts.map +1 -0
  140. package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts +4 -0
  141. package/dist/dts/internal/lib/jsondiffpatch/filters/dates.d.ts.map +1 -0
  142. package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts +11 -0
  143. package/dist/dts/internal/lib/jsondiffpatch/filters/lcs.d.ts.map +1 -0
  144. package/dist/dts/internal/lib/jsondiffpatch/filters/nested.d.ts +11 -0
  145. package/dist/dts/internal/lib/jsondiffpatch/filters/nested.d.ts.map +1 -0
  146. package/dist/dts/internal/lib/jsondiffpatch/filters/texts.d.ts +8 -0
  147. package/dist/dts/internal/lib/jsondiffpatch/filters/texts.d.ts.map +1 -0
  148. package/dist/dts/internal/lib/jsondiffpatch/filters/trivial.d.ts +8 -0
  149. package/dist/dts/internal/lib/jsondiffpatch/filters/trivial.d.ts.map +1 -0
  150. package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts +30 -0
  151. package/dist/dts/internal/lib/jsondiffpatch/formatters/annotated.d.ts.map +1 -0
  152. package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts +60 -0
  153. package/dist/dts/internal/lib/jsondiffpatch/formatters/base.d.ts.map +1 -0
  154. package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts +28 -0
  155. package/dist/dts/internal/lib/jsondiffpatch/formatters/html.d.ts.map +1 -0
  156. package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts +62 -0
  157. package/dist/dts/internal/lib/jsondiffpatch/formatters/jsonpatch.d.ts.map +1 -0
  158. package/dist/dts/internal/lib/jsondiffpatch/index.d.ts +17 -0
  159. package/dist/dts/internal/lib/jsondiffpatch/index.d.ts.map +1 -0
  160. package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts +25 -0
  161. package/dist/dts/internal/lib/jsondiffpatch/pipe.d.ts.map +1 -0
  162. package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts +20 -0
  163. package/dist/dts/internal/lib/jsondiffpatch/processor.d.ts.map +1 -0
  164. package/dist/dts/internal/lib/jsondiffpatch/types.d.ts +36 -0
  165. package/dist/dts/internal/lib/jsondiffpatch/types.d.ts.map +1 -0
  166. package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts +19 -0
  167. package/dist/dts/internal/lib/jsondiffpatch/with-text-diffs.d.ts.map +1 -0
  168. package/dist/dts/internal/pack.d.ts +2 -0
  169. package/dist/dts/internal/pack.d.ts.map +1 -0
  170. package/dist/dts/internal/stats.d.ts +9 -0
  171. package/dist/dts/internal/stats.d.ts.map +1 -0
  172. package/dist/dts/internal/summarize.d.ts +11 -0
  173. package/dist/dts/internal/summarize.d.ts.map +1 -0
  174. package/dist/dts/pack.d.ts +2 -0
  175. package/dist/dts/pack.d.ts.map +1 -0
  176. package/dist/dts/prelude.d.ts +24 -0
  177. package/dist/dts/prelude.d.ts.map +1 -0
  178. package/dist/esm/Classify.js +13 -0
  179. package/dist/esm/Classify.js.map +1 -0
  180. package/dist/esm/DisplayConfig.js +11 -0
  181. package/dist/esm/DisplayConfig.js.map +1 -0
  182. package/dist/esm/Error.js +12 -0
  183. package/dist/esm/Error.js.map +1 -0
  184. package/dist/esm/Show.js +27 -0
  185. package/dist/esm/Show.js.map +1 -0
  186. package/dist/esm/Test.js +13 -0
  187. package/dist/esm/Test.js.map +1 -0
  188. package/dist/esm/Test.repository.js +14 -0
  189. package/dist/esm/Test.repository.js.map +1 -0
  190. package/dist/esm/index.js +28 -0
  191. package/dist/esm/index.js.map +1 -0
  192. package/dist/esm/internal/Classify.js +100 -0
  193. package/dist/esm/internal/Classify.js.map +1 -0
  194. package/dist/esm/internal/DisplayConfig.js +23 -0
  195. package/dist/esm/internal/DisplayConfig.js.map +1 -0
  196. package/dist/esm/internal/Test.js +155 -0
  197. package/dist/esm/internal/Test.js.map +1 -0
  198. package/dist/esm/internal/Test.repository.sqlite.js +207 -0
  199. package/dist/esm/internal/Test.repository.sqlite.js.map +1 -0
  200. package/dist/esm/internal/Test.repository.sqlite.spec.js +73 -0
  201. package/dist/esm/internal/Test.repository.sqlite.spec.js.map +1 -0
  202. package/dist/esm/internal/common.js +66 -0
  203. package/dist/esm/internal/common.js.map +1 -0
  204. package/dist/esm/internal/diff.js +82 -0
  205. package/dist/esm/internal/diff.js.map +1 -0
  206. package/dist/esm/internal/format-diff.js +158 -0
  207. package/dist/esm/internal/format-diff.js.map +1 -0
  208. package/dist/esm/internal/format-diff.spec.js +79 -0
  209. package/dist/esm/internal/format-diff.spec.js.map +1 -0
  210. package/dist/esm/internal/lib/Schema.js +16 -0
  211. package/dist/esm/internal/lib/Schema.js.map +1 -0
  212. package/dist/esm/internal/lib/jsondiffpatch/clone.js +35 -0
  213. package/dist/esm/internal/lib/jsondiffpatch/clone.js.map +1 -0
  214. package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js +47 -0
  215. package/dist/esm/internal/lib/jsondiffpatch/contexts/context.js.map +1 -0
  216. package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js +38 -0
  217. package/dist/esm/internal/lib/jsondiffpatch/contexts/diff.js.map +1 -0
  218. package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js +22 -0
  219. package/dist/esm/internal/lib/jsondiffpatch/contexts/patch.js.map +1 -0
  220. package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js +21 -0
  221. package/dist/esm/internal/lib/jsondiffpatch/contexts/reverse.js.map +1 -0
  222. package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js +18 -0
  223. package/dist/esm/internal/lib/jsondiffpatch/date-reviver.js.map +1 -0
  224. package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js +49 -0
  225. package/dist/esm/internal/lib/jsondiffpatch/diffpatcher.js.map +1 -0
  226. package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js +384 -0
  227. package/dist/esm/internal/lib/jsondiffpatch/filters/arrays.js.map +1 -0
  228. package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js +24 -0
  229. package/dist/esm/internal/lib/jsondiffpatch/filters/dates.js.map +1 -0
  230. package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js +78 -0
  231. package/dist/esm/internal/lib/jsondiffpatch/filters/lcs.js.map +1 -0
  232. package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js +153 -0
  233. package/dist/esm/internal/lib/jsondiffpatch/filters/nested.js.map +1 -0
  234. package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js +123 -0
  235. package/dist/esm/internal/lib/jsondiffpatch/filters/texts.js.map +1 -0
  236. package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js +108 -0
  237. package/dist/esm/internal/lib/jsondiffpatch/filters/trivial.js.map +1 -0
  238. package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js +165 -0
  239. package/dist/esm/internal/lib/jsondiffpatch/formatters/annotated.js.map +1 -0
  240. package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js +198 -0
  241. package/dist/esm/internal/lib/jsondiffpatch/formatters/base.js.map +1 -0
  242. package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js +239 -0
  243. package/dist/esm/internal/lib/jsondiffpatch/formatters/html.js.map +1 -0
  244. package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js +174 -0
  245. package/dist/esm/internal/lib/jsondiffpatch/formatters/jsonpatch.js.map +1 -0
  246. package/dist/esm/internal/lib/jsondiffpatch/index.js +61 -0
  247. package/dist/esm/internal/lib/jsondiffpatch/index.js.map +1 -0
  248. package/dist/esm/internal/lib/jsondiffpatch/pipe.js +110 -0
  249. package/dist/esm/internal/lib/jsondiffpatch/pipe.js.map +1 -0
  250. package/dist/esm/internal/lib/jsondiffpatch/processor.js +71 -0
  251. package/dist/esm/internal/lib/jsondiffpatch/processor.js.map +1 -0
  252. package/dist/esm/internal/lib/jsondiffpatch/types.js +6 -0
  253. package/dist/esm/internal/lib/jsondiffpatch/types.js.map +1 -0
  254. package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js +88 -0
  255. package/dist/esm/internal/lib/jsondiffpatch/with-text-diffs.js.map +1 -0
  256. package/dist/esm/internal/pack.js +58 -0
  257. package/dist/esm/internal/pack.js.map +1 -0
  258. package/dist/esm/internal/stats.js +117 -0
  259. package/dist/esm/internal/stats.js.map +1 -0
  260. package/dist/esm/internal/summarize.js +146 -0
  261. package/dist/esm/internal/summarize.js.map +1 -0
  262. package/dist/esm/pack.js +10 -0
  263. package/dist/esm/pack.js.map +1 -0
  264. package/dist/esm/prelude.js +72 -0
  265. package/dist/esm/prelude.js.map +1 -0
  266. package/package.json +45 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrays.js","names":["_diff","_interopRequireDefault","require","_patch","_reverse","_lcs","obj","__esModule","default","ARRAY_MOVE","arraysHaveMatchByRef","array1","array2","len1","len2","index1","val1","index2","val2","matchItems","context","value1","value2","objectHash","matchByPosition","hashCache1","hash1","hashCache2","hash2","diffFilter","exports","arraysDiffFilter","leftIsArray","matchContext","options","commonHead","commonTail","index","left","right","length","child","push","result","setResult","undefined","exit","_t","trimmed1","slice","trimmed2","seq","get","removedItems","indices1","indexOf","detectMove","arrays","includeValueOnMove","removedItemsLength","indexOnArray2","indices2","isMove","removeItemIndex1","splice","filterName","compare","numerically","a","b","numericallyBy","name","patchFilter","nestedPatchFilter","nested","nestedDelta","delta","array","toRemove","toInsert","toModify","removedOrMovedIndex","parseInt","Error","numberIndex","value","sort","indexDiff","removedValue","toInsertLength","insertion","toModifyLength","modification","children","collectChildrenPatchFilter","deltaWithChildren","arrayIndex","childName","reverseFilter","arraysReverseFilter","nonNestedDelta","arrayMoveDelta","newName","substring","arrayDelta","reverseArrayDeltaIndex","itemDelta","Array","isArray","reverseIndex","deltaIndex","deltaItem","moveFromIndex","moveToIndex","deleteIndex","collectChildrenReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/arrays.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,sBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,sBAAA,eAAAC,OAAA;AACA,IAAAE,QAAA,gBAAAH,sBAAA,eAAAC,OAAA;AAEA,IAAAG,IAAA,gBAAAJ,sBAAA,eAAAC,OAAA;AAA2B,SAAAD,uBAAAK,GAAA;EAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAc3B,MAAMG,UAAU,GAAG,CAAC;AAEpB,SAASC,oBAAoBA,CAC3BC,MAA0B,EAC1BC,MAA0B,EAC1BC,IAAY,EACZC,IAAY;EAEZ,KAAK,IAAIC,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGF,IAAI,EAAEE,MAAM,EAAE,EAAE;IAC5C,MAAMC,IAAI,GAAGL,MAAM,CAACI,MAAM,CAAC;IAC3B,KAAK,IAAIE,MAAM,GAAG,CAAC,EAAEA,MAAM,GAAGH,IAAI,EAAEG,MAAM,EAAE,EAAE;MAC5C,MAAMC,IAAI,GAAGN,MAAM,CAACK,MAAM,CAAC;MAC3B,IAAIF,MAAM,KAAKE,MAAM,IAAID,IAAI,KAAKE,IAAI,EAAE;QACtC,OAAO,IAAI;MACb;IACF;EACF;AACF;AAWA,SAASC,UAAUA,CACjBR,MAA0B,EAC1BC,MAA0B,EAC1BG,MAAc,EACdE,MAAc,EACdG,OAAqB;EAErB,MAAMC,MAAM,GAAGV,MAAM,CAACI,MAAM,CAAC;EAC7B,MAAMO,MAAM,GAAGV,MAAM,CAACK,MAAM,CAAC;EAC7B,IAAII,MAAM,KAAKC,MAAM,EAAE;IACrB,OAAO,IAAI;EACb;EACA,IAAI,OAAOD,MAAM,KAAK,QAAQ,IAAI,OAAOC,MAAM,KAAK,QAAQ,EAAE;IAC5D,OAAO,KAAK;EACd;EACA,MAAMC,UAAU,GAAGH,OAAO,CAACG,UAAU;EACrC,IAAI,CAACA,UAAU,EAAE;IACf;IACA,OAAOH,OAAO,CAACI,eAAe,IAAIT,MAAM,KAAKE,MAAM;EACrD;EACAG,OAAO,CAACK,UAAU,GAAGL,OAAO,CAACK,UAAU,IAAI,EAAE;EAC7C,IAAIC,KAAK,GAAGN,OAAO,CAACK,UAAU,CAACV,MAAM,CAAC;EACtC,IAAI,OAAOW,KAAK,KAAK,WAAW,EAAE;IAChCN,OAAO,CAACK,UAAU,CAACV,MAAM,CAAC,GAAGW,KAAK,GAAGH,UAAU,CAACF,MAAgB,EAAEN,MAAM,CAAC;EAC3E;EACA,IAAI,OAAOW,KAAK,KAAK,WAAW,EAAE;IAChC,OAAO,KAAK;EACd;EACAN,OAAO,CAACO,UAAU,GAAGP,OAAO,CAACO,UAAU,IAAI,EAAE;EAC7C,IAAIC,KAAK,GAAGR,OAAO,CAACO,UAAU,CAACV,MAAM,CAAC;EACtC,IAAI,OAAOW,KAAK,KAAK,WAAW,EAAE;IAChCR,OAAO,CAACO,UAAU,CAACV,MAAM,CAAC,GAAGW,KAAK,GAAGL,UAAU,CAACD,MAAgB,EAAEL,MAAM,CAAC;EAC3E;EACA,IAAI,OAAOW,KAAK,KAAK,WAAW,EAAE;IAChC,OAAO,KAAK;EACd;EACA,OAAOF,KAAK,KAAKE,KAAK;AACxB;AAEO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAwB,SAASE,gBAAgBA,CACtEX,OAAO;EAEP,IAAI,CAACA,OAAO,CAACY,WAAW,EAAE;IACxB;EACF;EAEA,MAAMC,YAAY,GAAiB;IACjCV,UAAU,EAAEH,OAAO,CAACc,OAAO,IAAId,OAAO,CAACc,OAAO,CAACX,UAAU;IACzDC,eAAe,EAAEJ,OAAO,CAACc,OAAO,IAAId,OAAO,CAACc,OAAO,CAACV;GACrD;EACD,IAAIW,UAAU,GAAG,CAAC;EAClB,IAAIC,UAAU,GAAG,CAAC;EAClB,IAAIC,KAAK;EACT,IAAItB,MAAM;EACV,IAAIE,MAAM;EACV,MAAMN,MAAM,GAAGS,OAAO,CAACkB,IAA0B;EACjD,MAAM1B,MAAM,GAAGQ,OAAO,CAACmB,KAA2B;EAClD,MAAM1B,IAAI,GAAGF,MAAM,CAAC6B,MAAM;EAC1B,MAAM1B,IAAI,GAAGF,MAAM,CAAC4B,MAAM;EAE1B,IAAIC,KAAK;EAET,IACE5B,IAAI,GAAG,CAAC,IACRC,IAAI,GAAG,CAAC,IACR,CAACmB,YAAY,CAACV,UAAU,IACxB,OAAOU,YAAY,CAACT,eAAe,KAAK,SAAS,EACjD;IACAS,YAAY,CAACT,eAAe,GAAG,CAACd,oBAAoB,CAClDC,MAAM,EACNC,MAAM,EACNC,IAAI,EACJC,IAAI,CACL;EACH;EAEA;EACA,OACEqB,UAAU,GAAGtB,IAAI,IACjBsB,UAAU,GAAGrB,IAAI,IACjBK,UAAU,CAACR,MAAM,EAAEC,MAAM,EAAEuB,UAAU,EAAEA,UAAU,EAAEF,YAAY,CAAC,EAChE;IACAI,KAAK,GAAGF,UAAU;IAClBM,KAAK,GAAG,IAAIzC,KAAA,CAAAQ,OAAW,CAACG,MAAM,CAAC0B,KAAK,CAAC,EAAEzB,MAAM,CAACyB,KAAK,CAAC,CAAC;IACrDjB,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAEJ,KAAK,CAAC;IAC1BF,UAAU,EAAE;EACd;EACA;EACA,OACEC,UAAU,GAAGD,UAAU,GAAGtB,IAAI,IAC9BuB,UAAU,GAAGD,UAAU,GAAGrB,IAAI,IAC9BK,UAAU,CACRR,MAAM,EACNC,MAAM,EACNC,IAAI,GAAG,CAAC,GAAGuB,UAAU,EACrBtB,IAAI,GAAG,CAAC,GAAGsB,UAAU,EACrBH,YAAY,CACb,EACD;IACAlB,MAAM,GAAGF,IAAI,GAAG,CAAC,GAAGuB,UAAU;IAC9BnB,MAAM,GAAGH,IAAI,GAAG,CAAC,GAAGsB,UAAU;IAC9BK,KAAK,GAAG,IAAIzC,KAAA,CAAAQ,OAAW,CAACG,MAAM,CAACI,MAAM,CAAC,EAAEH,MAAM,CAACK,MAAM,CAAC,CAAC;IACvDG,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAExB,MAAM,CAAC;IAC3BmB,UAAU,EAAE;EACd;EACA,IAAIO,MAMS;EACb,IAAIR,UAAU,GAAGC,UAAU,KAAKvB,IAAI,EAAE;IACpC,IAAIA,IAAI,KAAKC,IAAI,EAAE;MACjB;MACAM,OAAO,CAACwB,SAAS,CAACC,SAAS,CAAC,CAACC,IAAI,EAAE;MACnC;IACF;IACA;IACAH,MAAM,GAAGA,MAAM,IAAI;MACjBI,EAAE,EAAE;KACL;IACD,KAAKV,KAAK,GAAGF,UAAU,EAAEE,KAAK,GAAGvB,IAAI,GAAGsB,UAAU,EAAEC,KAAK,EAAE,EAAE;MAC3DM,MAAM,CAACN,KAAK,CAAC,GAAG,CAACzB,MAAM,CAACyB,KAAK,CAAC,CAAC;IACjC;IACAjB,OAAO,CAACwB,SAAS,CAACD,MAAM,CAAC,CAACG,IAAI,EAAE;IAChC;EACF;EACA,IAAIX,UAAU,GAAGC,UAAU,KAAKtB,IAAI,EAAE;IACpC;IACA6B,MAAM,GAAGA,MAAM,IAAI;MACjBI,EAAE,EAAE;KACL;IACD,KAAKV,KAAK,GAAGF,UAAU,EAAEE,KAAK,GAAGxB,IAAI,GAAGuB,UAAU,EAAEC,KAAK,EAAE,EAAE;MAC3DM,MAAM,CAAC,IAAIN,KAAK,EAAE,CAAC,GAAG,CAAC1B,MAAM,CAAC0B,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7C;IACAjB,OAAO,CAACwB,SAAS,CAACD,MAAM,CAAC,CAACG,IAAI,EAAE;IAChC;EACF;EACA;EACA,OAAOb,YAAY,CAACR,UAAU;EAC9B,OAAOQ,YAAY,CAACN,UAAU;EAE9B;EACA,MAAMqB,QAAQ,GAAGrC,MAAM,CAACsC,KAAK,CAACd,UAAU,EAAEtB,IAAI,GAAGuB,UAAU,CAAC;EAC5D,MAAMc,QAAQ,GAAGtC,MAAM,CAACqC,KAAK,CAACd,UAAU,EAAErB,IAAI,GAAGsB,UAAU,CAAC;EAC5D,MAAMe,GAAG,GAAG9C,IAAA,CAAAG,OAAG,CAAC4C,GAAG,CAACJ,QAAQ,EAAEE,QAAQ,EAAE/B,UAAU,EAAEc,YAAY,CAAC;EACjE,MAAMoB,YAAY,GAAG,EAAE;EACvBV,MAAM,GAAGA,MAAM,IAAI;IACjBI,EAAE,EAAE;GACL;EACD,KAAKV,KAAK,GAAGF,UAAU,EAAEE,KAAK,GAAGxB,IAAI,GAAGuB,UAAU,EAAEC,KAAK,EAAE,EAAE;IAC3D,IAAIc,GAAG,CAACG,QAAQ,CAACC,OAAO,CAAClB,KAAK,GAAGF,UAAU,CAAC,GAAG,CAAC,EAAE;MAChD;MACAQ,MAAM,CAAC,IAAIN,KAAK,EAAE,CAAC,GAAG,CAAC1B,MAAM,CAAC0B,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MAC3CgB,YAAY,CAACX,IAAI,CAACL,KAAK,CAAC;IAC1B;EACF;EAEA,IAAImB,UAAU,GAAG,IAAI;EACrB,IACEpC,OAAO,CAACc,OAAO,IACfd,OAAO,CAACc,OAAO,CAACuB,MAAM,IACtBrC,OAAO,CAACc,OAAO,CAACuB,MAAM,CAACD,UAAU,KAAK,KAAK,EAC3C;IACAA,UAAU,GAAG,KAAK;EACpB;EACA,IAAIE,kBAAkB,GAAG,KAAK;EAC9B,IACEtC,OAAO,CAACc,OAAO,IACfd,OAAO,CAACc,OAAO,CAACuB,MAAM,IACtBrC,OAAO,CAACc,OAAO,CAACuB,MAAM,CAACC,kBAAkB,EACzC;IACAA,kBAAkB,GAAG,IAAI;EAC3B;EAEA,MAAMC,kBAAkB,GAAGN,YAAY,CAACb,MAAM;EAC9C,KAAKH,KAAK,GAAGF,UAAU,EAAEE,KAAK,GAAGvB,IAAI,GAAGsB,UAAU,EAAEC,KAAK,EAAE,EAAE;IAC3D,MAAMuB,aAAa,GAAGT,GAAG,CAACU,QAAQ,CAACN,OAAO,CAAClB,KAAK,GAAGF,UAAU,CAAC;IAC9D,IAAIyB,aAAa,GAAG,CAAC,EAAE;MACrB;MACA,IAAIE,MAAM,GAAG,KAAK;MAClB,IAAIN,UAAU,IAAIG,kBAAkB,GAAG,CAAC,EAAE;QACxC,KACE,IAAII,gBAAgB,GAAG,CAAC,EACxBA,gBAAgB,GAAGJ,kBAAkB,EACrCI,gBAAgB,EAAE,EAClB;UACAhD,MAAM,GAAGsC,YAAY,CAACU,gBAAgB,CAAC;UACvC,IACE5C,UAAU,CACR6B,QAAQ,EACRE,QAAQ,EACRnC,MAAM,GAAGoB,UAAU,EACnBE,KAAK,GAAGF,UAAU,EAClBF,YAAY,CACb,EACD;YACA;YACAU,MAAM,CAAC,IAAI5B,MAAM,EAAE,CAAC,CAACiD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE3B,KAAK,EAAE5B,UAAU,CAAC;YACpD,IAAI,CAACiD,kBAAkB,EAAE;cACvB;cACAf,MAAM,CAAC,IAAI5B,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;YAC9B;YAEAE,MAAM,GAAGoB,KAAK;YACdI,KAAK,GAAG,IAAIzC,KAAA,CAAAQ,OAAW,CAACG,MAAM,CAACI,MAAM,CAAC,EAAEH,MAAM,CAACK,MAAM,CAAC,CAAC;YACvDG,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAExB,MAAM,CAAC;YAC3BoC,YAAY,CAACW,MAAM,CAACD,gBAAgB,EAAE,CAAC,CAAC;YACxCD,MAAM,GAAG,IAAI;YACb;UACF;QACF;MACF;MACA,IAAI,CAACA,MAAM,EAAE;QACX;QACAnB,MAAM,CAACN,KAAK,CAAC,GAAG,CAACzB,MAAM,CAACyB,KAAK,CAAC,CAAC;MACjC;IACF,CAAC,MAAM;MACL;MACAtB,MAAM,GAAGoC,GAAG,CAACG,QAAQ,CAACM,aAAa,CAAC,GAAGzB,UAAU;MACjDlB,MAAM,GAAGkC,GAAG,CAACU,QAAQ,CAACD,aAAa,CAAC,GAAGzB,UAAU;MACjDM,KAAK,GAAG,IAAIzC,KAAA,CAAAQ,OAAW,CAACG,MAAM,CAACI,MAAM,CAAC,EAAEH,MAAM,CAACK,MAAM,CAAC,CAAC;MACvDG,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAExB,MAAM,CAAC;IAC7B;EACF;EAEAG,OAAO,CAACwB,SAAS,CAACD,MAAM,CAAC,CAACG,IAAI,EAAE;AAClC,CAAC;AACDjB,UAAU,CAACoC,UAAU,GAAG,QAAQ;AAEhC,MAAMC,OAAO,GAAG;EACdC,WAAWA,CAAaC,CAAS,EAAEC,CAAS;IAC1C,OAAOD,CAAC,GAAGC,CAAC;EACd,CAAC;EACDC,aAAaA,CACXC,IAAkE;IAElE,OAAO,CAACH,CAAI,EAAEC,CAAI,KAAMD,CAAC,CAACG,IAAI,CAAY,GAAIF,CAAC,CAACE,IAAI,CAAY;EAClE;CACD;AAEM,MAAMC,WAAW,GAAA1C,OAAA,CAAA0C,WAAA,GAAyB,SAASC,iBAAiBA,CACzErD,OAAO;EAEP,IAAI,CAACA,OAAO,CAACsD,MAAM,EAAE;IACnB;EACF;EACA,MAAMC,WAAW,GAAGvD,OAAO,CAACwD,KAAiC;EAC7D,IAAID,WAAW,CAAC5B,EAAE,KAAK,GAAG,EAAE;IAC1B;EACF;EACA,IAAIV,KAAK;EACT,IAAItB,MAAM;EAEV,MAAM6D,KAAK,GAAGD,WAAyB;EACvC,MAAME,KAAK,GAAGzD,OAAO,CAACkB,IAAiB;EAEvC;EACA,IAAIwC,QAAQ,GAAa,EAAE;EAC3B,IAAIC,QAAQ,GAAwC,EAAE;EACtD,MAAMC,QAAQ,GAAsC,EAAE;EACtD,KAAK3C,KAAK,IAAIuC,KAAK,EAAE;IACnB,IAAIvC,KAAK,KAAK,IAAI,EAAE;MAClB,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QACpB,MAAM4C,mBAAmB,GAAG5C,KAAqB;QACjD;QACA,IACEuC,KAAK,CAACK,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IACnCL,KAAK,CAACK,mBAAmB,CAAC,CAAC,CAAC,CAAC,KAAKxE,UAAU,EAC5C;UACAqE,QAAQ,CAACpC,IAAI,CAACwC,QAAQ,CAAC7C,KAAK,CAACY,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7C,CAAC,MAAM;UACL,MAAM,IAAIkC,KAAK,CACb,gEAAgE,GAC9D,uBAAuBP,KAAK,CAACK,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CACzD;QACH;MACF,CAAC,MAAM;QACL,MAAMG,WAAW,GAAG/C,KAAoB;QACxC,IAAKuC,KAAK,CAACQ,WAAW,CAAe,CAAC5C,MAAM,KAAK,CAAC,EAAE;UAClD;UACAuC,QAAQ,CAACrC,IAAI,CAAC;YACZL,KAAK,EAAE6C,QAAQ,CAACE,WAAW,EAAE,EAAE,CAAC;YAChCC,KAAK,EAAGT,KAAK,CAACQ,WAAW,CAAgB,CAAC,CAAC;WAC5C,CAAC;QACJ,CAAC,MAAM;UACL;UACAJ,QAAQ,CAACtC,IAAI,CAAC;YACZL,KAAK,EAAE6C,QAAQ,CAACE,WAAW,EAAE,EAAE,CAAC;YAChCR,KAAK,EAAEA,KAAK,CAACQ,WAAW;WACzB,CAAC;QACJ;MACF;IACF;EACF;EAEA;EACAN,QAAQ,GAAGA,QAAQ,CAACQ,IAAI,CAACpB,OAAO,CAACC,WAAW,CAAC;EAC7C,KAAK9B,KAAK,GAAGyC,QAAQ,CAACtC,MAAM,GAAG,CAAC,EAAEH,KAAK,IAAI,CAAC,EAAEA,KAAK,EAAE,EAAE;IACrDtB,MAAM,GAAG+D,QAAQ,CAACzC,KAAK,CAAC;IACxB,MAAMkD,SAAS,GAAGX,KAAK,CAAC,IAAI7D,MAAM,EAAE,CAAC;IACrC,MAAMyE,YAAY,GAAGX,KAAK,CAACb,MAAM,CAACjD,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,IAAIwE,SAAS,CAAC,CAAC,CAAC,KAAK9E,UAAU,EAAE;MAC/B;MACAsE,QAAQ,CAACrC,IAAI,CAAC;QACZL,KAAK,EAAEkD,SAAS,CAAC,CAAC,CAAC;QACnBF,KAAK,EAAEG;OACR,CAAC;IACJ;EACF;EAEA;EACAT,QAAQ,GAAGA,QAAQ,CAACO,IAAI,CAACpB,OAAO,CAACI,aAAa,CAAC,OAAO,CAAC,CAAC;EACxD,MAAMmB,cAAc,GAAGV,QAAQ,CAACvC,MAAM;EACtC,KAAKH,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGoD,cAAc,EAAEpD,KAAK,EAAE,EAAE;IAC/C,MAAMqD,SAAS,GAAGX,QAAQ,CAAC1C,KAAK,CAAC;IACjCwC,KAAK,CAACb,MAAM,CAAC0B,SAAS,CAACrD,KAAK,EAAE,CAAC,EAAEqD,SAAS,CAACL,KAAK,CAAC;EACnD;EAEA;EACA,MAAMM,cAAc,GAAGX,QAAQ,CAACxC,MAAM;EACtC,IAAIC,KAAK;EACT,IAAIkD,cAAc,GAAG,CAAC,EAAE;IACtB,KAAKtD,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGsD,cAAc,EAAEtD,KAAK,EAAE,EAAE;MAC/C,MAAMuD,YAAY,GAAGZ,QAAQ,CAAC3C,KAAK,CAAC;MACpCI,KAAK,GAAG,IAAItC,MAAA,CAAAK,OAAY,CAACqE,KAAK,CAACe,YAAY,CAACvD,KAAK,CAAC,EAAEuD,YAAY,CAAChB,KAAK,CAAC;MACvExD,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAEmD,YAAY,CAACvD,KAAK,CAAC;IACzC;EACF;EAEA,IAAI,CAACjB,OAAO,CAACyE,QAAQ,EAAE;IACrBzE,OAAO,CAACwB,SAAS,CAACiC,KAAK,CAAC,CAAC/B,IAAI,EAAE;IAC/B;EACF;EACA1B,OAAO,CAAC0B,IAAI,EAAE;AAChB,CAAC;AACD0B,WAAW,CAACP,UAAU,GAAG,QAAQ;AAE1B,MAAM6B,0BAA0B,GAAAhE,OAAA,CAAAgE,0BAAA,GACrC,SAASA,0BAA0BA,CAAC1E,OAAO;EACzC,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACyE,QAAQ,EAAE;IACjC;EACF;EACA,MAAME,iBAAiB,GAAG3E,OAAO,CAACwD,KAAiC;EACnE,IAAImB,iBAAiB,CAAChD,EAAE,KAAK,GAAG,EAAE;IAChC;EACF;EACA,MAAM8B,KAAK,GAAGzD,OAAO,CAACkB,IAAiB;EACvC,MAAME,MAAM,GAAGpB,OAAO,CAACyE,QAAQ,CAACrD,MAAM;EACtC,IAAIC,KAAK;EACT,KAAK,IAAIJ,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGG,MAAM,EAAEH,KAAK,EAAE,EAAE;IAC3CI,KAAK,GAAGrB,OAAO,CAACyE,QAAQ,CAACxD,KAAK,CAAC;IAC/B,MAAM2D,UAAU,GAAGvD,KAAK,CAACwD,SAAmB;IAC5CpB,KAAK,CAACmB,UAAU,CAAC,GAAGvD,KAAK,CAACE,MAAM;EAClC;EACAvB,OAAO,CAACwB,SAAS,CAACiC,KAAK,CAAC,CAAC/B,IAAI,EAAE;AACjC,CAAC;AACHgD,0BAA0B,CAAC7B,UAAU,GAAG,uBAAuB;AAExD,MAAMiC,aAAa,GAAApE,OAAA,CAAAoE,aAAA,GACxB,SAASC,mBAAmBA,CAAC/E,OAAO;EAClC,IAAI,CAACA,OAAO,CAACsD,MAAM,EAAE;IACnB,MAAM0B,cAAc,GAAGhF,OAAO,CAACwD,KAKd;IACjB,IAAIwB,cAAc,CAAC,CAAC,CAAC,KAAK3F,UAAU,EAAE;MACpC,MAAM4F,cAAc,GAAGD,cAA4B;MACnDhF,OAAO,CAACkF,OAAO,GAAG,IAAID,cAAc,CAAC,CAAC,CAAC,EAAE;MACzCjF,OAAO,CACJwB,SAAS,CAAC,CACTyD,cAAc,CAAC,CAAC,CAAC,EACjBnB,QAAQ,CAAE9D,OAAO,CAAC6E,SAA0B,CAACM,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAC9D9F,UAAU,CACX,CAAC,CACDqC,IAAI,EAAE;IACX;IACA;EACF;EACA,MAAM6B,WAAW,GAAGvD,OAAO,CAACwD,KAAiC;EAC7D,IAAID,WAAW,CAAC5B,EAAE,KAAK,GAAG,EAAE;IAC1B;EACF;EACA,MAAMyD,UAAU,GAAG7B,WAAyB;EAC5C,IAAIJ,IAAI;EACR,IAAI9B,KAAK;EACT,KAAK8B,IAAI,IAAIiC,UAAU,EAAE;IACvB,IAAIjC,IAAI,KAAK,IAAI,EAAE;MACjB;IACF;IACA9B,KAAK,GAAG,IAAIrC,QAAA,CAAAI,OAAc,CAACgG,UAAU,CAACjC,IAAmB,CAAC,CAAC;IAC3DnD,OAAO,CAACsB,IAAI,CAACD,KAAK,EAAE8B,IAAI,CAAC;EAC3B;EACAnD,OAAO,CAAC0B,IAAI,EAAE;AAChB,CAAC;AACHoD,aAAa,CAACjC,UAAU,GAAG,QAAQ;AAEnC,MAAMwC,sBAAsB,GAAGA,CAC7B7B,KAAiB,EACjBvC,KAAsB,EACtBqE,SAAgB,KACd;EACF,IAAI,OAAOrE,KAAK,KAAK,QAAQ,IAAIA,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IACjD,OAAO6C,QAAQ,CAAC7C,KAAK,CAACkE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EACzC,CAAC,MAAM,IAAII,KAAK,CAACC,OAAO,CAACF,SAAS,CAAC,IAAIA,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;IACzD,OAAO,IAAIrE,KAAe,EAAW;EACvC;EAEA,IAAIwE,YAAY,GAAG,CAACxE,KAAK;EACzB,KAAK,MAAMyE,UAAU,IAAIlC,KAAK,EAAE;IAC9B,MAAMmC,SAAS,GAAGnC,KAAK,CAACkC,UAAwC,CAAC;IACjE,IAAIH,KAAK,CAACC,OAAO,CAACG,SAAS,CAAC,EAAE;MAC5B,IAAIA,SAAS,CAAC,CAAC,CAAC,KAAKtG,UAAU,EAAE;QAC/B,MAAMuG,aAAa,GAAG9B,QAAQ,CAAC4B,UAAU,CAACP,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC3D,MAAMU,WAAW,GAAIF,SAAwB,CAAC,CAAC,CAAC;QAChD,IAAIE,WAAW,KAAK,CAAC5E,KAAK,EAAE;UAC1B,OAAO2E,aAAa;QACtB;QACA,IAAIA,aAAa,IAAIH,YAAY,IAAII,WAAW,GAAGJ,YAAY,EAAE;UAC/DA,YAAY,EAAE;QAChB,CAAC,MAAM,IACLG,aAAa,IAAIH,YAAY,IAC7BI,WAAW,GAAGJ,YAAY,EAC1B;UACAA,YAAY,EAAE;QAChB;MACF,CAAC,MAAM,IAAIE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;QAC7B,MAAMG,WAAW,GAAGhC,QAAQ,CAAC4B,UAAU,CAACP,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACzD,IAAIW,WAAW,IAAIL,YAAY,EAAE;UAC/BA,YAAY,EAAE;QAChB;MACF,CAAC,MAAM,IACLE,SAAS,CAACvE,MAAM,KAAK,CAAC,IACtB0C,QAAQ,CAAC4B,UAAU,EAAE,EAAE,CAAC,IAAID,YAAY,EACxC;QACAA,YAAY,EAAE;MAChB;IACF;EACF;EAEA,OAAOA,YAAY;AACrB,CAAC;AAEM,MAAMM,4BAA4B,GACvC/F,OAAO,IACL;EACF,IAAI,CAACA,OAAO,IAAI,CAACA,OAAO,CAACyE,QAAQ,EAAE;IACjC;EACF;EACA,MAAME,iBAAiB,GAAG3E,OAAO,CAACwD,KAAiC;EACnE,IAAImB,iBAAiB,CAAChD,EAAE,KAAK,GAAG,EAAE;IAChC;EACF;EACA,MAAMyD,UAAU,GAAGT,iBAA+B;EAClD,MAAMvD,MAAM,GAAGpB,OAAO,CAACyE,QAAQ,CAACrD,MAAM;EACtC,IAAIC,KAAK;EACT,MAAMmC,KAAK,GAAe;IACxB7B,EAAE,EAAE;GACL;EAED,KAAK,IAAIV,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGG,MAAM,EAAEH,KAAK,EAAE,EAAE;IAC3CI,KAAK,GAAGrB,OAAO,CAACyE,QAAQ,CAACxD,KAAK,CAAC;IAC/B,IAAIkC,IAAI,GAA0B9B,KAAK,CAAC6D,OAAQ;IAChD,IAAI,OAAO/B,IAAI,KAAK,WAAW,EAAE;MAC/BA,IAAI,GAAGkC,sBAAsB,CAACD,UAAU,EAAE/D,KAAK,CAACwD,SAAU,EAAExD,KAAK,CAACE,MAAM,CAAC;IAC3E;IACA,IAAIiC,KAAK,CAACL,IAAI,CAAC,KAAK9B,KAAK,CAACE,MAAM,EAAE;MAChC;MACAiC,KAAK,CAACL,IAAc,CAAC,GAAG9B,KAAK,CAACE,MAAM;IACtC;EACF;EACAvB,OAAO,CAACwB,SAAS,CAACgC,KAAK,CAAC,CAAC9B,IAAI,EAAE;AACjC,CAAC;AAAChB,OAAA,CAAAqF,4BAAA,GAAAA,4BAAA;AACFA,4BAA4B,CAAClD,UAAU,GAAG,uBAAuB","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.diffFilter = void 0;
7
+ const diffFilter = exports.diffFilter = function datesDiffFilter(context) {
8
+ if (context.left instanceof Date) {
9
+ if (context.right instanceof Date) {
10
+ if (context.left.getTime() !== context.right.getTime()) {
11
+ context.setResult([context.left, context.right]);
12
+ } else {
13
+ context.setResult(undefined);
14
+ }
15
+ } else {
16
+ context.setResult([context.left, context.right]);
17
+ }
18
+ context.exit();
19
+ } else if (context.right instanceof Date) {
20
+ context.setResult([context.left, context.right]).exit();
21
+ }
22
+ };
23
+ diffFilter.filterName = 'dates';
24
+ //# sourceMappingURL=dates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dates.js","names":["diffFilter","exports","datesDiffFilter","context","left","Date","right","getTime","setResult","undefined","exit","filterName"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/dates.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGO,MAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAwB,SAASE,eAAeA,CACrEC,OAAO;EAEP,IAAIA,OAAO,CAACC,IAAI,YAAYC,IAAI,EAAE;IAChC,IAAIF,OAAO,CAACG,KAAK,YAAYD,IAAI,EAAE;MACjC,IAAIF,OAAO,CAACC,IAAI,CAACG,OAAO,EAAE,KAAKJ,OAAO,CAACG,KAAK,CAACC,OAAO,EAAE,EAAE;QACtDJ,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC;MAClD,CAAC,MAAM;QACLH,OAAO,CAACK,SAAS,CAACC,SAAS,CAAC;MAC9B;IACF,CAAC,MAAM;MACLN,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC;IAClD;IACAH,OAAO,CAACO,IAAI,EAAE;EAChB,CAAC,MAAM,IAAIP,OAAO,CAACG,KAAK,YAAYD,IAAI,EAAE;IACxCF,OAAO,CAACK,SAAS,CAAC,CAACL,OAAO,CAACC,IAAI,EAAED,OAAO,CAACG,KAAK,CAAC,CAAC,CAACI,IAAI,EAAE;EACzD;AACF,CAAC;AACDV,UAAU,CAACW,UAAU,GAAG,OAAO","ignoreList":[]}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ /*
8
+
9
+ LCS implementation that supports arrays or strings
10
+
11
+ reference: http://en.wikipedia.org/wiki/Longest_common_subsequence_problem
12
+
13
+ */
14
+ const defaultMatch = function (array1, array2, index1, index2) {
15
+ return array1[index1] === array2[index2];
16
+ };
17
+ const lengthMatrix = function (array1, array2, match, context) {
18
+ const len1 = array1.length;
19
+ const len2 = array2.length;
20
+ let x, y;
21
+ // initialize empty matrix of len1+1 x len2+1
22
+ const matrix = new Array(len1 + 1);
23
+ for (x = 0; x < len1 + 1; x++) {
24
+ matrix[x] = new Array(len2 + 1);
25
+ for (y = 0; y < len2 + 1; y++) {
26
+ matrix[x][y] = 0;
27
+ }
28
+ }
29
+ matrix.match = match;
30
+ // save sequence lengths for each coordinate
31
+ for (x = 1; x < len1 + 1; x++) {
32
+ for (y = 1; y < len2 + 1; y++) {
33
+ if (match(array1, array2, x - 1, y - 1, context)) {
34
+ matrix[x][y] = matrix[x - 1][y - 1] + 1;
35
+ } else {
36
+ matrix[x][y] = Math.max(matrix[x - 1][y], matrix[x][y - 1]);
37
+ }
38
+ }
39
+ }
40
+ return matrix;
41
+ };
42
+ const backtrack = function (matrix, array1, array2, context) {
43
+ let index1 = array1.length;
44
+ let index2 = array2.length;
45
+ const subsequence = {
46
+ sequence: [],
47
+ indices1: [],
48
+ indices2: []
49
+ };
50
+ while (index1 !== 0 && index2 !== 0) {
51
+ const sameLetter = matrix.match(array1, array2, index1 - 1, index2 - 1, context);
52
+ if (sameLetter) {
53
+ subsequence.sequence.unshift(array1[index1 - 1]);
54
+ subsequence.indices1.unshift(index1 - 1);
55
+ subsequence.indices2.unshift(index2 - 1);
56
+ --index1;
57
+ --index2;
58
+ } else {
59
+ const valueAtMatrixAbove = matrix[index1][index2 - 1];
60
+ const valueAtMatrixLeft = matrix[index1 - 1][index2];
61
+ if (valueAtMatrixAbove > valueAtMatrixLeft) {
62
+ --index2;
63
+ } else {
64
+ --index1;
65
+ }
66
+ }
67
+ }
68
+ return subsequence;
69
+ };
70
+ const get = function (array1, array2, match, context) {
71
+ const innerContext = context || {};
72
+ const matrix = lengthMatrix(array1, array2, match || defaultMatch, innerContext);
73
+ return backtrack(matrix, array1, array2, innerContext);
74
+ };
75
+ var _default = exports.default = {
76
+ get
77
+ };
78
+ //# sourceMappingURL=lcs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lcs.js","names":["defaultMatch","array1","array2","index1","index2","lengthMatrix","match","context","len1","length","len2","x","y","matrix","Array","Math","max","backtrack","subsequence","sequence","indices1","indices2","sameLetter","unshift","valueAtMatrixAbove","valueAtMatrixLeft","get","innerContext","_default","exports","default"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/lcs.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reverseFilter = exports.patchFilter = exports.objectsDiffFilter = exports.collectChildrenReverseFilter = exports.collectChildrenPatchFilter = exports.collectChildrenDiffFilter = void 0;
7
+ var _diff = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/diff.js"));
8
+ var _patch = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/patch.js"));
9
+ var _reverse = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../contexts/reverse.js"));
10
+ function _interopRequireDefault(obj) {
11
+ return obj && obj.__esModule ? obj : {
12
+ default: obj
13
+ };
14
+ }
15
+ const collectChildrenDiffFilter = context => {
16
+ if (!context || !context.children) {
17
+ return;
18
+ }
19
+ const length = context.children.length;
20
+ let child;
21
+ let result = context.result;
22
+ for (let index = 0; index < length; index++) {
23
+ child = context.children[index];
24
+ if (typeof child.result === 'undefined') {
25
+ continue;
26
+ }
27
+ result = result || {};
28
+ result[child.childName] = child.result;
29
+ }
30
+ if (result && context.leftIsArray) {
31
+ result._t = 'a';
32
+ }
33
+ context.setResult(result).exit();
34
+ };
35
+ exports.collectChildrenDiffFilter = collectChildrenDiffFilter;
36
+ collectChildrenDiffFilter.filterName = 'collectChildren';
37
+ const objectsDiffFilter = context => {
38
+ if (context.leftIsArray || context.leftType !== 'object') {
39
+ return;
40
+ }
41
+ const left = context.left;
42
+ const right = context.right;
43
+ let name;
44
+ let child;
45
+ const propertyFilter = context.options.propertyFilter;
46
+ for (name in left) {
47
+ if (!Object.prototype.hasOwnProperty.call(left, name)) {
48
+ continue;
49
+ }
50
+ if (propertyFilter && !propertyFilter(name, context)) {
51
+ continue;
52
+ }
53
+ child = new _diff.default(left[name], right[name]);
54
+ context.push(child, name);
55
+ }
56
+ for (name in right) {
57
+ if (!Object.prototype.hasOwnProperty.call(right, name)) {
58
+ continue;
59
+ }
60
+ if (propertyFilter && !propertyFilter(name, context)) {
61
+ continue;
62
+ }
63
+ if (typeof left[name] === 'undefined') {
64
+ child = new _diff.default(undefined, right[name]);
65
+ context.push(child, name);
66
+ }
67
+ }
68
+ if (!context.children || context.children.length === 0) {
69
+ context.setResult(undefined).exit();
70
+ return;
71
+ }
72
+ context.exit();
73
+ };
74
+ exports.objectsDiffFilter = objectsDiffFilter;
75
+ objectsDiffFilter.filterName = 'objects';
76
+ const patchFilter = exports.patchFilter = function nestedPatchFilter(context) {
77
+ if (!context.nested) {
78
+ return;
79
+ }
80
+ const nestedDelta = context.delta;
81
+ if (nestedDelta._t) {
82
+ return;
83
+ }
84
+ const objectDelta = nestedDelta;
85
+ let name;
86
+ let child;
87
+ for (name in objectDelta) {
88
+ child = new _patch.default(context.left[name], objectDelta[name]);
89
+ context.push(child, name);
90
+ }
91
+ context.exit();
92
+ };
93
+ patchFilter.filterName = 'objects';
94
+ const collectChildrenPatchFilter = exports.collectChildrenPatchFilter = function collectChildrenPatchFilter(context) {
95
+ if (!context || !context.children) {
96
+ return;
97
+ }
98
+ const deltaWithChildren = context.delta;
99
+ if (deltaWithChildren._t) {
100
+ return;
101
+ }
102
+ const object = context.left;
103
+ const length = context.children.length;
104
+ let child;
105
+ for (let index = 0; index < length; index++) {
106
+ child = context.children[index];
107
+ const property = child.childName;
108
+ if (Object.prototype.hasOwnProperty.call(context.left, property) && child.result === undefined) {
109
+ delete object[property];
110
+ } else if (object[property] !== child.result) {
111
+ object[property] = child.result;
112
+ }
113
+ }
114
+ context.setResult(object).exit();
115
+ };
116
+ collectChildrenPatchFilter.filterName = 'collectChildren';
117
+ const reverseFilter = exports.reverseFilter = function nestedReverseFilter(context) {
118
+ if (!context.nested) {
119
+ return;
120
+ }
121
+ const nestedDelta = context.delta;
122
+ if (nestedDelta._t) {
123
+ return;
124
+ }
125
+ const objectDelta = context.delta;
126
+ let name;
127
+ let child;
128
+ for (name in objectDelta) {
129
+ child = new _reverse.default(objectDelta[name]);
130
+ context.push(child, name);
131
+ }
132
+ context.exit();
133
+ };
134
+ reverseFilter.filterName = 'objects';
135
+ const collectChildrenReverseFilter = context => {
136
+ if (!context || !context.children) {
137
+ return;
138
+ }
139
+ const deltaWithChildren = context.delta;
140
+ if (deltaWithChildren._t) {
141
+ return;
142
+ }
143
+ const length = context.children.length;
144
+ let child;
145
+ const delta = {};
146
+ for (let index = 0; index < length; index++) {
147
+ child = context.children[index];
148
+ const property = child.childName;
149
+ if (delta[property] !== child.result) {
150
+ delta[property] = child.result;
151
+ }
152
+ }
153
+ context.setResult(delta).exit();
154
+ };
155
+ exports.collectChildrenReverseFilter = collectChildrenReverseFilter;
156
+ collectChildrenReverseFilter.filterName = 'collectChildren';
157
+ //# sourceMappingURL=nested.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nested.js","names":["_diff","_interopRequireDefault","require","_patch","_reverse","obj","__esModule","default","collectChildrenDiffFilter","context","children","length","child","result","index","childName","leftIsArray","_t","setResult","exit","exports","filterName","objectsDiffFilter","leftType","left","right","name","propertyFilter","options","Object","prototype","hasOwnProperty","call","push","undefined","patchFilter","nestedPatchFilter","nested","nestedDelta","delta","objectDelta","collectChildrenPatchFilter","deltaWithChildren","object","property","reverseFilter","nestedReverseFilter","collectChildrenReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/nested.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reverseFilter = exports.patchFilter = exports.diffFilter = void 0;
7
+ const TEXT_DIFF = 2;
8
+ const DEFAULT_MIN_LENGTH = 60;
9
+ let cachedDiffPatch = null;
10
+ function getDiffMatchPatch(options, required) {
11
+ if (!cachedDiffPatch) {
12
+ let instance;
13
+ if (options?.textDiff?.diffMatchPatch) {
14
+ instance = new options.textDiff.diffMatchPatch();
15
+ } else {
16
+ if (!required) {
17
+ return null;
18
+ }
19
+ const error = new Error('The diff-match-patch library was not provided. Pass the library in through the options or use the `jsondiffpatch/with-text-diffs` entry-point.');
20
+ // eslint-disable-next-line camelcase
21
+ error.diff_match_patch_not_found = true;
22
+ throw error;
23
+ }
24
+ cachedDiffPatch = {
25
+ diff: function (txt1, txt2) {
26
+ return instance.patch_toText(instance.patch_make(txt1, txt2));
27
+ },
28
+ patch: function (txt1, patch) {
29
+ const results = instance.patch_apply(instance.patch_fromText(patch), txt1);
30
+ for (let i = 0; i < results[1].length; i++) {
31
+ if (!results[1][i]) {
32
+ const error = new Error('text patch failed');
33
+ error.textPatchFailed = true;
34
+ }
35
+ }
36
+ return results[0];
37
+ }
38
+ };
39
+ }
40
+ return cachedDiffPatch;
41
+ }
42
+ const diffFilter = exports.diffFilter = function textsDiffFilter(context) {
43
+ if (context.leftType !== 'string') {
44
+ return;
45
+ }
46
+ const left = context.left;
47
+ const right = context.right;
48
+ const minLength = context.options && context.options.textDiff && context.options.textDiff.minLength || DEFAULT_MIN_LENGTH;
49
+ if (left.length < minLength || right.length < minLength) {
50
+ context.setResult([left, right]).exit();
51
+ return;
52
+ }
53
+ // large text, try to use a text-diff algorithm
54
+ const diffMatchPatch = getDiffMatchPatch(context.options);
55
+ if (!diffMatchPatch) {
56
+ // diff-match-patch library not available,
57
+ // fallback to regular string replace
58
+ context.setResult([left, right]).exit();
59
+ return;
60
+ }
61
+ const diff = diffMatchPatch.diff;
62
+ context.setResult([diff(left, right), 0, TEXT_DIFF]).exit();
63
+ };
64
+ diffFilter.filterName = 'texts';
65
+ const patchFilter = exports.patchFilter = function textsPatchFilter(context) {
66
+ if (context.nested) {
67
+ return;
68
+ }
69
+ const nonNestedDelta = context.delta;
70
+ if (nonNestedDelta[2] !== TEXT_DIFF) {
71
+ return;
72
+ }
73
+ const textDiffDelta = nonNestedDelta;
74
+ // text-diff, use a text-patch algorithm
75
+ const patch = getDiffMatchPatch(context.options, true).patch;
76
+ context.setResult(patch(context.left, textDiffDelta[0])).exit();
77
+ };
78
+ patchFilter.filterName = 'texts';
79
+ const textDeltaReverse = function (delta) {
80
+ let i;
81
+ let l;
82
+ let line;
83
+ let lineTmp;
84
+ let header = null;
85
+ const headerRegex = /^@@ +-(\d+),(\d+) +\+(\d+),(\d+) +@@$/;
86
+ let lineHeader;
87
+ const lines = delta.split('\n');
88
+ for (i = 0, l = lines.length; i < l; i++) {
89
+ line = lines[i];
90
+ const lineStart = line.slice(0, 1);
91
+ if (lineStart === '@') {
92
+ header = headerRegex.exec(line);
93
+ lineHeader = i;
94
+ // fix header
95
+ lines[lineHeader] = '@@ -' + header[3] + ',' + header[4] + ' +' + header[1] + ',' + header[2] + ' @@';
96
+ } else if (lineStart === '+') {
97
+ lines[i] = '-' + lines[i].slice(1);
98
+ if (lines[i - 1].slice(0, 1) === '+') {
99
+ // swap lines to keep default order (-+)
100
+ lineTmp = lines[i];
101
+ lines[i] = lines[i - 1];
102
+ lines[i - 1] = lineTmp;
103
+ }
104
+ } else if (lineStart === '-') {
105
+ lines[i] = '+' + lines[i].slice(1);
106
+ }
107
+ }
108
+ return lines.join('\n');
109
+ };
110
+ const reverseFilter = exports.reverseFilter = function textsReverseFilter(context) {
111
+ if (context.nested) {
112
+ return;
113
+ }
114
+ const nonNestedDelta = context.delta;
115
+ if (nonNestedDelta[2] !== TEXT_DIFF) {
116
+ return;
117
+ }
118
+ const textDiffDelta = nonNestedDelta;
119
+ // text-diff, use a text-diff algorithm
120
+ context.setResult([textDeltaReverse(textDiffDelta[0]), 0, TEXT_DIFF]).exit();
121
+ };
122
+ reverseFilter.filterName = 'texts';
123
+ //# sourceMappingURL=texts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"texts.js","names":["TEXT_DIFF","DEFAULT_MIN_LENGTH","cachedDiffPatch","getDiffMatchPatch","options","required","instance","textDiff","diffMatchPatch","error","Error","diff_match_patch_not_found","diff","txt1","txt2","patch_toText","patch_make","patch","results","patch_apply","patch_fromText","i","length","textPatchFailed","diffFilter","exports","textsDiffFilter","context","leftType","left","right","minLength","setResult","exit","filterName","patchFilter","textsPatchFilter","nested","nonNestedDelta","delta","textDiffDelta","textDeltaReverse","l","line","lineTmp","header","headerRegex","lineHeader","lines","split","lineStart","slice","exec","join","reverseFilter","textsReverseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/texts.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reverseFilter = exports.patchFilter = exports.diffFilter = void 0;
7
+ const diffFilter = exports.diffFilter = function trivialMatchesDiffFilter(context) {
8
+ if (context.left === context.right) {
9
+ context.setResult(undefined).exit();
10
+ return;
11
+ }
12
+ if (typeof context.left === 'undefined') {
13
+ if (typeof context.right === 'function') {
14
+ throw new Error('functions are not supported');
15
+ }
16
+ context.setResult([context.right]).exit();
17
+ return;
18
+ }
19
+ if (typeof context.right === 'undefined') {
20
+ context.setResult([context.left, 0, 0]).exit();
21
+ return;
22
+ }
23
+ if (typeof context.left === 'function' || typeof context.right === 'function') {
24
+ throw new Error('functions are not supported');
25
+ }
26
+ context.leftType = context.left === null ? 'null' : typeof context.left;
27
+ context.rightType = context.right === null ? 'null' : typeof context.right;
28
+ if (context.leftType !== context.rightType) {
29
+ context.setResult([context.left, context.right]).exit();
30
+ return;
31
+ }
32
+ if (context.leftType === 'boolean' || context.leftType === 'number') {
33
+ context.setResult([context.left, context.right]).exit();
34
+ return;
35
+ }
36
+ if (context.leftType === 'object') {
37
+ context.leftIsArray = Array.isArray(context.left);
38
+ }
39
+ if (context.rightType === 'object') {
40
+ context.rightIsArray = Array.isArray(context.right);
41
+ }
42
+ if (context.leftIsArray !== context.rightIsArray) {
43
+ context.setResult([context.left, context.right]).exit();
44
+ return;
45
+ }
46
+ if (context.left instanceof RegExp) {
47
+ if (context.right instanceof RegExp) {
48
+ context.setResult([context.left.toString(), context.right.toString()]).exit();
49
+ } else {
50
+ context.setResult([context.left, context.right]).exit();
51
+ }
52
+ }
53
+ };
54
+ diffFilter.filterName = 'trivial';
55
+ const patchFilter = exports.patchFilter = function trivialMatchesPatchFilter(context) {
56
+ if (typeof context.delta === 'undefined') {
57
+ context.setResult(context.left).exit();
58
+ return;
59
+ }
60
+ context.nested = !Array.isArray(context.delta);
61
+ if (context.nested) {
62
+ return;
63
+ }
64
+ const nonNestedDelta = context.delta;
65
+ if (nonNestedDelta.length === 1) {
66
+ context.setResult(nonNestedDelta[0]).exit();
67
+ return;
68
+ }
69
+ if (nonNestedDelta.length === 2) {
70
+ if (context.left instanceof RegExp) {
71
+ const regexArgs = /^\/(.*)\/([gimyu]+)$/.exec(nonNestedDelta[1]);
72
+ if (regexArgs) {
73
+ context.setResult(new RegExp(regexArgs[1], regexArgs[2])).exit();
74
+ return;
75
+ }
76
+ }
77
+ context.setResult(nonNestedDelta[1]).exit();
78
+ return;
79
+ }
80
+ if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {
81
+ context.setResult(undefined).exit();
82
+ }
83
+ };
84
+ patchFilter.filterName = 'trivial';
85
+ const reverseFilter = exports.reverseFilter = function trivialReferseFilter(context) {
86
+ if (typeof context.delta === 'undefined') {
87
+ context.setResult(context.delta).exit();
88
+ return;
89
+ }
90
+ context.nested = !Array.isArray(context.delta);
91
+ if (context.nested) {
92
+ return;
93
+ }
94
+ const nonNestedDelta = context.delta;
95
+ if (nonNestedDelta.length === 1) {
96
+ context.setResult([nonNestedDelta[0], 0, 0]).exit();
97
+ return;
98
+ }
99
+ if (nonNestedDelta.length === 2) {
100
+ context.setResult([nonNestedDelta[1], nonNestedDelta[0]]).exit();
101
+ return;
102
+ }
103
+ if (nonNestedDelta.length === 3 && nonNestedDelta[2] === 0) {
104
+ context.setResult([nonNestedDelta[0]]).exit();
105
+ }
106
+ };
107
+ reverseFilter.filterName = 'trivial';
108
+ //# sourceMappingURL=trivial.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trivial.js","names":["diffFilter","exports","trivialMatchesDiffFilter","context","left","right","setResult","undefined","exit","Error","leftType","rightType","leftIsArray","Array","isArray","rightIsArray","RegExp","toString","filterName","patchFilter","trivialMatchesPatchFilter","delta","nested","nonNestedDelta","length","regexArgs","exec","reverseFilter","trivialReferseFilter"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/filters/trivial.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}