@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,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ class Context {
8
+ result;
9
+ hasResult;
10
+ exiting;
11
+ parent;
12
+ childName;
13
+ root;
14
+ options;
15
+ children;
16
+ nextAfterChildren;
17
+ next;
18
+ setResult(result) {
19
+ this.result = result;
20
+ this.hasResult = true;
21
+ return this;
22
+ }
23
+ exit() {
24
+ this.exiting = true;
25
+ return this;
26
+ }
27
+ push(child, name) {
28
+ child.parent = this;
29
+ if (typeof name !== 'undefined') {
30
+ child.childName = name;
31
+ }
32
+ child.root = this.root || this;
33
+ child.options = child.options || this.options;
34
+ if (!this.children) {
35
+ this.children = [child];
36
+ this.nextAfterChildren = this.next || null;
37
+ this.next = child;
38
+ } else {
39
+ this.children[this.children.length - 1].next = child;
40
+ this.children.push(child);
41
+ }
42
+ child.next = this;
43
+ return this;
44
+ }
45
+ }
46
+ exports.default = Context;
47
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.js","names":["Context","result","hasResult","exiting","parent","childName","root","options","children","nextAfterChildren","next","setResult","exit","push","child","name","length","exports","default"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/contexts/context.ts"],"sourcesContent":[null],"mappings":";;;;;;AAEc,MAAgBA,OAAO;EAGjCC,MAAM;EACNC,SAAS;EACTC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC,iBAAiB;EACjBC,IAAI;EAEJC,SAASA,CAACV,MAAe;IACrB,IAAI,CAACA,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACC,SAAS,GAAG,IAAI;IACrB,OAAO,IAAI;EACf;EAEAU,IAAIA,CAAA;IACA,IAAI,CAACT,OAAO,GAAG,IAAI;IACnB,OAAO,IAAI;EACf;EAEAU,IAAIA,CAACC,KAAW,EAAEC,IAAsB;IACpCD,KAAK,CAACV,MAAM,GAAG,IAAI;IACnB,IAAI,OAAOW,IAAI,KAAK,WAAW,EAAE;MAC7BD,KAAK,CAACT,SAAS,GAAGU,IAAI;IAC1B;IACAD,KAAK,CAACR,IAAI,GAAG,IAAI,CAACA,IAAI,IAAI,IAAI;IAC9BQ,KAAK,CAACP,OAAO,GAAGO,KAAK,CAACP,OAAO,IAAI,IAAI,CAACA,OAAO;IAC7C,IAAI,CAAC,IAAI,CAACC,QAAQ,EAAE;MAChB,IAAI,CAACA,QAAQ,GAAG,CAACM,KAAK,CAAC;MACvB,IAAI,CAACL,iBAAiB,GAAG,IAAI,CAACC,IAAI,IAAI,IAAI;MAC1C,IAAI,CAACA,IAAI,GAAGI,KAAK;IACrB,CAAC,MAAM;MACH,IAAI,CAACN,QAAQ,CAAC,IAAI,CAACA,QAAQ,CAACQ,MAAM,GAAG,CAAC,CAAC,CAACN,IAAI,GAAGI,KAAK;MACpD,IAAI,CAACN,QAAQ,CAACK,IAAI,CAACC,KAAK,CAAC;IAC7B;IACAA,KAAK,CAACJ,IAAI,GAAG,IAAI;IACjB,OAAO,IAAI;EACf;;AACHO,OAAA,CAAAC,OAAA,GAAAlB,OAAA","ignoreList":[]}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _context = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./context.js"));
8
+ var _clone = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("../clone.js"));
9
+ function _interopRequireDefault(obj) {
10
+ return obj && obj.__esModule ? obj : {
11
+ default: obj
12
+ };
13
+ }
14
+ class DiffContext extends _context.default {
15
+ left;
16
+ right;
17
+ pipe;
18
+ leftType;
19
+ rightType;
20
+ leftIsArray;
21
+ rightIsArray;
22
+ constructor(left, right) {
23
+ super();
24
+ this.left = left;
25
+ this.right = right;
26
+ this.pipe = 'diff';
27
+ }
28
+ setResult(result) {
29
+ if (this.options.cloneDiffValues && typeof result === 'object') {
30
+ const clone = typeof this.options.cloneDiffValues === 'function' ? this.options.cloneDiffValues : _clone.default;
31
+ if (typeof result[0] === 'object') {
32
+ result[0] = clone(result[0]);
33
+ }
34
+ if (typeof result[1] === 'object') {
35
+ result[1] = clone(result[1]);
36
+ }
37
+ }
38
+ return super.setResult(result);
39
+ }
40
+ }
41
+ var _default = exports.default = DiffContext;
42
+ //# sourceMappingURL=diff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diff.js","names":["_context","_interopRequireDefault","require","_clone","obj","__esModule","default","DiffContext","left","right","pipe","leftType","rightType","leftIsArray","rightIsArray","constructor","setResult","result","options","cloneDiffValues","clone","_default","exports"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/contexts/diff.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,sBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,sBAAA,eAAAC,OAAA;AAAuC,SAAAD,uBAAAG,GAAA;EAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAGvC,MAAMG,WAAY,SAAQP,QAAA,CAAAM,OAAc;EACtCE,IAAI;EACJC,KAAK;EACLC,IAAI;EAEJC,QAAQ;EACRC,SAAS;EACTC,WAAW;EACXC,YAAY;EAEZC,YAAYP,IAAa,EAAEC,KAAc;IACvC,KAAK,EAAE;IACP,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAG,MAAM;EACpB;EAEAM,SAASA,CAACC,MAAa;IACrB,IAAI,IAAI,CAACC,OAAQ,CAACC,eAAe,IAAI,OAAOF,MAAM,KAAK,QAAQ,EAAE;MAC/D,MAAMG,KAAK,GACT,OAAO,IAAI,CAACF,OAAQ,CAACC,eAAe,KAAK,UAAU,GAC/C,IAAI,CAACD,OAAQ,CAACC,eAAe,GAC7BhB,MAAA,CAAAG,OAAY;MAClB,IAAI,OAAOW,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;QACjCA,MAAM,CAAC,CAAC,CAAC,GAAGG,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC;MAC9B;MACA,IAAI,OAAOA,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;QACjCA,MAAM,CAAC,CAAC,CAAC,GAAGG,KAAK,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC;MAC9B;IACF;IACA,OAAO,KAAK,CAACD,SAAS,CAACC,MAAM,CAAC;EAChC;;AACD,IAAAI,QAAA,GAAAC,OAAA,CAAAhB,OAAA,GAEcC,WAAW","ignoreList":[]}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _context = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./context.js"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ class PatchContext extends _context.default {
14
+ left;
15
+ delta;
16
+ pipe;
17
+ nested;
18
+ constructor(left, delta) {
19
+ super();
20
+ this.left = left;
21
+ this.delta = delta;
22
+ this.pipe = 'patch';
23
+ }
24
+ }
25
+ var _default = exports.default = PatchContext;
26
+ //# sourceMappingURL=patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"patch.js","names":["_context","_interopRequireDefault","require","obj","__esModule","default","PatchContext","left","delta","pipe","nested","constructor","_default","exports"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/contexts/patch.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,sBAAA,eAAAC,OAAA;AAAmC,SAAAD,uBAAAE,GAAA;EAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAGnC,MAAMG,YAAa,SAAQN,QAAA,CAAAK,OAAgB;EACzCE,IAAI;EACJC,KAAK;EACLC,IAAI;EAEJC,MAAM;EAENC,YAAYJ,IAAa,EAAEC,KAAY;IACrC,KAAK,EAAE;IACP,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAG,OAAO;EACrB;;AACD,IAAAG,QAAA,GAAAC,OAAA,CAAAR,OAAA,GAEcC,YAAY","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _context = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./context.js"));
8
+ function _interopRequireDefault(obj) {
9
+ return obj && obj.__esModule ? obj : {
10
+ default: obj
11
+ };
12
+ }
13
+ class ReverseContext extends _context.default {
14
+ delta;
15
+ pipe;
16
+ nested;
17
+ newName;
18
+ constructor(delta) {
19
+ super();
20
+ this.delta = delta;
21
+ this.pipe = 'reverse';
22
+ }
23
+ }
24
+ var _default = exports.default = ReverseContext;
25
+ //# sourceMappingURL=reverse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reverse.js","names":["_context","_interopRequireDefault","require","obj","__esModule","default","ReverseContext","delta","pipe","nested","newName","constructor","_default","exports"],"sources":["../../../../../../src/internal/lib/jsondiffpatch/contexts/reverse.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,sBAAA,eAAAC,OAAA;AAAmC,SAAAD,uBAAAE,GAAA;EAAA,OAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA;IAAAE,OAAA,EAAAF;EAAA;AAAA;AAGnC,MAAMG,cAAe,SAAQN,QAAA,CAAAK,OAAc;EACzCE,KAAK;EACLC,IAAI;EAEJC,MAAM;EACNC,OAAO;EAEPC,YAAYJ,KAAY;IACtB,KAAK,EAAE;IACP,IAAI,CAACA,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,IAAI,GAAG,SAAS;EACvB;;AACD,IAAAI,QAAA,GAAAC,OAAA,CAAAR,OAAA,GAEcC,cAAc","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = dateReviver;
7
+ // use as 2nd parameter for JSON.parse to revive Date instances
8
+ function dateReviver(key, value) {
9
+ let parts;
10
+ if (typeof value === 'string') {
11
+ parts = /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d*))?(Z|([+-])(\d{2}):(\d{2}))$/.exec(value);
12
+ if (parts) {
13
+ return new Date(Date.UTC(+parts[1], +parts[2] - 1, +parts[3], +parts[4], +parts[5], +parts[6], +(parts[7] || 0)));
14
+ }
15
+ }
16
+ return value;
17
+ }
18
+ //# sourceMappingURL=date-reviver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-reviver.js","names":["dateReviver","key","value","parts","exec","Date","UTC"],"sources":["../../../../../src/internal/lib/jsondiffpatch/date-reviver.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA;AACc,SAAUA,WAAWA,CAACC,GAAW,EAAEC,KAAc;EAC7D,IAAIC,KAAK;EACT,IAAI,OAAOD,KAAK,KAAK,QAAQ,EAAE;IAC7BC,KAAK,GACH,wFAAwF,CAACC,IAAI,CAC3FF,KAAK,CACN;IACH,IAAIC,KAAK,EAAE;MACT,OAAO,IAAIE,IAAI,CACbA,IAAI,CAACC,GAAG,CACN,CAACH,KAAK,CAAC,CAAC,CAAC,EACT,CAACA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,EACb,CAACA,KAAK,CAAC,CAAC,CAAC,EACT,CAACA,KAAK,CAAC,CAAC,CAAC,EACT,CAACA,KAAK,CAAC,CAAC,CAAC,EACT,CAACA,KAAK,CAAC,CAAC,CAAC,EACT,EAAEA,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACjB,CACF;IACH;EACF;EACA,OAAOD,KAAK;AACd","ignoreList":[]}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _processor = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./processor.js"));
8
+ var _pipe = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./pipe.js"));
9
+ var _diff = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./contexts/diff.js"));
10
+ var _patch = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./contexts/patch.js"));
11
+ var _reverse = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./contexts/reverse.js"));
12
+ var _clone = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./clone.js"));
13
+ var trivial = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./filters/trivial.js"));
14
+ var nested = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./filters/nested.js"));
15
+ var arrays = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./filters/arrays.js"));
16
+ var dates = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./filters/dates.js"));
17
+ var texts = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("./filters/texts.js"));
18
+ function _getRequireWildcardCache(e) {
19
+ if ("function" != typeof WeakMap) return null;
20
+ var r = new WeakMap(),
21
+ t = new WeakMap();
22
+ return (_getRequireWildcardCache = function (e) {
23
+ return e ? t : r;
24
+ })(e);
25
+ }
26
+ function _interopRequireWildcard(e, r) {
27
+ if (!r && e && e.__esModule) return e;
28
+ if (null === e || "object" != typeof e && "function" != typeof e) return {
29
+ default: e
30
+ };
31
+ var t = _getRequireWildcardCache(r);
32
+ if (t && t.has(e)) return t.get(e);
33
+ var n = {
34
+ __proto__: null
35
+ },
36
+ a = Object.defineProperty && Object.getOwnPropertyDescriptor;
37
+ for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) {
38
+ var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;
39
+ i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];
40
+ }
41
+ return n.default = e, t && t.set(e, n), n;
42
+ }
43
+ function _interopRequireDefault(obj) {
44
+ return obj && obj.__esModule ? obj : {
45
+ default: obj
46
+ };
47
+ }
48
+ class DiffPatcher {
49
+ processor;
50
+ constructor(options) {
51
+ this.processor = new _processor.default(options);
52
+ this.processor.pipe(new _pipe.default('diff').append(nested.collectChildrenDiffFilter, trivial.diffFilter, dates.diffFilter, texts.diffFilter, nested.objectsDiffFilter, arrays.diffFilter).shouldHaveResult());
53
+ this.processor.pipe(new _pipe.default('patch').append(nested.collectChildrenPatchFilter, arrays.collectChildrenPatchFilter, trivial.patchFilter, texts.patchFilter, nested.patchFilter, arrays.patchFilter).shouldHaveResult());
54
+ this.processor.pipe(new _pipe.default('reverse').append(nested.collectChildrenReverseFilter, arrays.collectChildrenReverseFilter, trivial.reverseFilter, texts.reverseFilter, nested.reverseFilter, arrays.reverseFilter).shouldHaveResult());
55
+ }
56
+ options(options) {
57
+ return this.processor.options(options);
58
+ }
59
+ diff(left, right) {
60
+ return this.processor.process(new _diff.default(left, right));
61
+ }
62
+ patch(left, delta) {
63
+ return this.processor.process(new _patch.default(left, delta));
64
+ }
65
+ reverse(delta) {
66
+ return this.processor.process(new _reverse.default(delta));
67
+ }
68
+ unpatch(right, delta) {
69
+ return this.patch(right, this.reverse(delta));
70
+ }
71
+ clone(value) {
72
+ return (0, _clone.default)(value);
73
+ }
74
+ }
75
+ var _default = exports.default = DiffPatcher;
76
+ //# sourceMappingURL=diffpatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diffpatcher.js","names":["_processor","_interopRequireDefault","require","_pipe","_diff","_patch","_reverse","_clone","trivial","_interopRequireWildcard","nested","arrays","dates","texts","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","obj","DiffPatcher","processor","constructor","options","pipe","append","collectChildrenDiffFilter","diffFilter","objectsDiffFilter","shouldHaveResult","collectChildrenPatchFilter","patchFilter","collectChildrenReverseFilter","reverseFilter","diff","left","right","process","patch","delta","reverse","unpatch","clone","value","_default","exports"],"sources":["../../../../../src/internal/lib/jsondiffpatch/diffpatcher.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,388 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.reverseFilter = exports.patchFilter = exports.diffFilter = exports.collectChildrenReverseFilter = exports.collectChildrenPatchFilter = 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
+ var _lcs = /*#__PURE__*/_interopRequireDefault( /*#__PURE__*/require("./lcs.js"));
11
+ function _interopRequireDefault(obj) {
12
+ return obj && obj.__esModule ? obj : {
13
+ default: obj
14
+ };
15
+ }
16
+ const ARRAY_MOVE = 3;
17
+ function arraysHaveMatchByRef(array1, array2, len1, len2) {
18
+ for (let index1 = 0; index1 < len1; index1++) {
19
+ const val1 = array1[index1];
20
+ for (let index2 = 0; index2 < len2; index2++) {
21
+ const val2 = array2[index2];
22
+ if (index1 !== index2 && val1 === val2) {
23
+ return true;
24
+ }
25
+ }
26
+ }
27
+ }
28
+ function matchItems(array1, array2, index1, index2, context) {
29
+ const value1 = array1[index1];
30
+ const value2 = array2[index2];
31
+ if (value1 === value2) {
32
+ return true;
33
+ }
34
+ if (typeof value1 !== 'object' || typeof value2 !== 'object') {
35
+ return false;
36
+ }
37
+ const objectHash = context.objectHash;
38
+ if (!objectHash) {
39
+ // no way to match objects was provided, try match by position
40
+ return context.matchByPosition && index1 === index2;
41
+ }
42
+ context.hashCache1 = context.hashCache1 || [];
43
+ let hash1 = context.hashCache1[index1];
44
+ if (typeof hash1 === 'undefined') {
45
+ context.hashCache1[index1] = hash1 = objectHash(value1, index1);
46
+ }
47
+ if (typeof hash1 === 'undefined') {
48
+ return false;
49
+ }
50
+ context.hashCache2 = context.hashCache2 || [];
51
+ let hash2 = context.hashCache2[index2];
52
+ if (typeof hash2 === 'undefined') {
53
+ context.hashCache2[index2] = hash2 = objectHash(value2, index2);
54
+ }
55
+ if (typeof hash2 === 'undefined') {
56
+ return false;
57
+ }
58
+ return hash1 === hash2;
59
+ }
60
+ const diffFilter = exports.diffFilter = function arraysDiffFilter(context) {
61
+ if (!context.leftIsArray) {
62
+ return;
63
+ }
64
+ const matchContext = {
65
+ objectHash: context.options && context.options.objectHash,
66
+ matchByPosition: context.options && context.options.matchByPosition
67
+ };
68
+ let commonHead = 0;
69
+ let commonTail = 0;
70
+ let index;
71
+ let index1;
72
+ let index2;
73
+ const array1 = context.left;
74
+ const array2 = context.right;
75
+ const len1 = array1.length;
76
+ const len2 = array2.length;
77
+ let child;
78
+ if (len1 > 0 && len2 > 0 && !matchContext.objectHash && typeof matchContext.matchByPosition !== 'boolean') {
79
+ matchContext.matchByPosition = !arraysHaveMatchByRef(array1, array2, len1, len2);
80
+ }
81
+ // separate common head
82
+ while (commonHead < len1 && commonHead < len2 && matchItems(array1, array2, commonHead, commonHead, matchContext)) {
83
+ index = commonHead;
84
+ child = new _diff.default(array1[index], array2[index]);
85
+ context.push(child, index);
86
+ commonHead++;
87
+ }
88
+ // separate common tail
89
+ while (commonTail + commonHead < len1 && commonTail + commonHead < len2 && matchItems(array1, array2, len1 - 1 - commonTail, len2 - 1 - commonTail, matchContext)) {
90
+ index1 = len1 - 1 - commonTail;
91
+ index2 = len2 - 1 - commonTail;
92
+ child = new _diff.default(array1[index1], array2[index2]);
93
+ context.push(child, index2);
94
+ commonTail++;
95
+ }
96
+ let result;
97
+ if (commonHead + commonTail === len1) {
98
+ if (len1 === len2) {
99
+ // arrays are identical
100
+ context.setResult(undefined).exit();
101
+ return;
102
+ }
103
+ // trivial case, a block (1 or more consecutive items) was added
104
+ result = result || {
105
+ _t: 'a'
106
+ };
107
+ for (index = commonHead; index < len2 - commonTail; index++) {
108
+ result[index] = [array2[index]];
109
+ }
110
+ context.setResult(result).exit();
111
+ return;
112
+ }
113
+ if (commonHead + commonTail === len2) {
114
+ // trivial case, a block (1 or more consecutive items) was removed
115
+ result = result || {
116
+ _t: 'a'
117
+ };
118
+ for (index = commonHead; index < len1 - commonTail; index++) {
119
+ result[`_${index}`] = [array1[index], 0, 0];
120
+ }
121
+ context.setResult(result).exit();
122
+ return;
123
+ }
124
+ // reset hash cache
125
+ delete matchContext.hashCache1;
126
+ delete matchContext.hashCache2;
127
+ // diff is not trivial, find the LCS (Longest Common Subsequence)
128
+ const trimmed1 = array1.slice(commonHead, len1 - commonTail);
129
+ const trimmed2 = array2.slice(commonHead, len2 - commonTail);
130
+ const seq = _lcs.default.get(trimmed1, trimmed2, matchItems, matchContext);
131
+ const removedItems = [];
132
+ result = result || {
133
+ _t: 'a'
134
+ };
135
+ for (index = commonHead; index < len1 - commonTail; index++) {
136
+ if (seq.indices1.indexOf(index - commonHead) < 0) {
137
+ // removed
138
+ result[`_${index}`] = [array1[index], 0, 0];
139
+ removedItems.push(index);
140
+ }
141
+ }
142
+ let detectMove = true;
143
+ if (context.options && context.options.arrays && context.options.arrays.detectMove === false) {
144
+ detectMove = false;
145
+ }
146
+ let includeValueOnMove = false;
147
+ if (context.options && context.options.arrays && context.options.arrays.includeValueOnMove) {
148
+ includeValueOnMove = true;
149
+ }
150
+ const removedItemsLength = removedItems.length;
151
+ for (index = commonHead; index < len2 - commonTail; index++) {
152
+ const indexOnArray2 = seq.indices2.indexOf(index - commonHead);
153
+ if (indexOnArray2 < 0) {
154
+ // added, try to match with a removed item and register as position move
155
+ let isMove = false;
156
+ if (detectMove && removedItemsLength > 0) {
157
+ for (let removeItemIndex1 = 0; removeItemIndex1 < removedItemsLength; removeItemIndex1++) {
158
+ index1 = removedItems[removeItemIndex1];
159
+ if (matchItems(trimmed1, trimmed2, index1 - commonHead, index - commonHead, matchContext)) {
160
+ // store position move as: [originalValue, newPosition, ARRAY_MOVE]
161
+ result[`_${index1}`].splice(1, 2, index, ARRAY_MOVE);
162
+ if (!includeValueOnMove) {
163
+ // don't include moved value on diff, to save bytes
164
+ result[`_${index1}`][0] = '';
165
+ }
166
+ index2 = index;
167
+ child = new _diff.default(array1[index1], array2[index2]);
168
+ context.push(child, index2);
169
+ removedItems.splice(removeItemIndex1, 1);
170
+ isMove = true;
171
+ break;
172
+ }
173
+ }
174
+ }
175
+ if (!isMove) {
176
+ // added
177
+ result[index] = [array2[index]];
178
+ }
179
+ } else {
180
+ // match, do inner diff
181
+ index1 = seq.indices1[indexOnArray2] + commonHead;
182
+ index2 = seq.indices2[indexOnArray2] + commonHead;
183
+ child = new _diff.default(array1[index1], array2[index2]);
184
+ context.push(child, index2);
185
+ }
186
+ }
187
+ context.setResult(result).exit();
188
+ };
189
+ diffFilter.filterName = 'arrays';
190
+ const compare = {
191
+ numerically(a, b) {
192
+ return a - b;
193
+ },
194
+ numericallyBy(name) {
195
+ return (a, b) => a[name] - b[name];
196
+ }
197
+ };
198
+ const patchFilter = exports.patchFilter = function nestedPatchFilter(context) {
199
+ if (!context.nested) {
200
+ return;
201
+ }
202
+ const nestedDelta = context.delta;
203
+ if (nestedDelta._t !== 'a') {
204
+ return;
205
+ }
206
+ let index;
207
+ let index1;
208
+ const delta = nestedDelta;
209
+ const array = context.left;
210
+ // first, separate removals, insertions and modifications
211
+ let toRemove = [];
212
+ let toInsert = [];
213
+ const toModify = [];
214
+ for (index in delta) {
215
+ if (index !== '_t') {
216
+ if (index[0] === '_') {
217
+ const removedOrMovedIndex = index;
218
+ // removed item from original array
219
+ if (delta[removedOrMovedIndex][2] === 0 || delta[removedOrMovedIndex][2] === ARRAY_MOVE) {
220
+ toRemove.push(parseInt(index.slice(1), 10));
221
+ } else {
222
+ throw new Error('only removal or move can be applied at original array indices,' + ` invalid diff type: ${delta[removedOrMovedIndex][2]}`);
223
+ }
224
+ } else {
225
+ const numberIndex = index;
226
+ if (delta[numberIndex].length === 1) {
227
+ // added item at new array
228
+ toInsert.push({
229
+ index: parseInt(numberIndex, 10),
230
+ value: delta[numberIndex][0]
231
+ });
232
+ } else {
233
+ // modified item at new array
234
+ toModify.push({
235
+ index: parseInt(numberIndex, 10),
236
+ delta: delta[numberIndex]
237
+ });
238
+ }
239
+ }
240
+ }
241
+ }
242
+ // remove items, in reverse order to avoid sawing our own floor
243
+ toRemove = toRemove.sort(compare.numerically);
244
+ for (index = toRemove.length - 1; index >= 0; index--) {
245
+ index1 = toRemove[index];
246
+ const indexDiff = delta[`_${index1}`];
247
+ const removedValue = array.splice(index1, 1)[0];
248
+ if (indexDiff[2] === ARRAY_MOVE) {
249
+ // reinsert later
250
+ toInsert.push({
251
+ index: indexDiff[1],
252
+ value: removedValue
253
+ });
254
+ }
255
+ }
256
+ // insert items, in reverse order to avoid moving our own floor
257
+ toInsert = toInsert.sort(compare.numericallyBy('index'));
258
+ const toInsertLength = toInsert.length;
259
+ for (index = 0; index < toInsertLength; index++) {
260
+ const insertion = toInsert[index];
261
+ array.splice(insertion.index, 0, insertion.value);
262
+ }
263
+ // apply modifications
264
+ const toModifyLength = toModify.length;
265
+ let child;
266
+ if (toModifyLength > 0) {
267
+ for (index = 0; index < toModifyLength; index++) {
268
+ const modification = toModify[index];
269
+ child = new _patch.default(array[modification.index], modification.delta);
270
+ context.push(child, modification.index);
271
+ }
272
+ }
273
+ if (!context.children) {
274
+ context.setResult(array).exit();
275
+ return;
276
+ }
277
+ context.exit();
278
+ };
279
+ patchFilter.filterName = 'arrays';
280
+ const collectChildrenPatchFilter = exports.collectChildrenPatchFilter = function collectChildrenPatchFilter(context) {
281
+ if (!context || !context.children) {
282
+ return;
283
+ }
284
+ const deltaWithChildren = context.delta;
285
+ if (deltaWithChildren._t !== 'a') {
286
+ return;
287
+ }
288
+ const array = context.left;
289
+ const length = context.children.length;
290
+ let child;
291
+ for (let index = 0; index < length; index++) {
292
+ child = context.children[index];
293
+ const arrayIndex = child.childName;
294
+ array[arrayIndex] = child.result;
295
+ }
296
+ context.setResult(array).exit();
297
+ };
298
+ collectChildrenPatchFilter.filterName = 'arraysCollectChildren';
299
+ const reverseFilter = exports.reverseFilter = function arraysReverseFilter(context) {
300
+ if (!context.nested) {
301
+ const nonNestedDelta = context.delta;
302
+ if (nonNestedDelta[2] === ARRAY_MOVE) {
303
+ const arrayMoveDelta = nonNestedDelta;
304
+ context.newName = `_${arrayMoveDelta[1]}`;
305
+ context.setResult([arrayMoveDelta[0], parseInt(context.childName.substring(1), 10), ARRAY_MOVE]).exit();
306
+ }
307
+ return;
308
+ }
309
+ const nestedDelta = context.delta;
310
+ if (nestedDelta._t !== 'a') {
311
+ return;
312
+ }
313
+ const arrayDelta = nestedDelta;
314
+ let name;
315
+ let child;
316
+ for (name in arrayDelta) {
317
+ if (name === '_t') {
318
+ continue;
319
+ }
320
+ child = new _reverse.default(arrayDelta[name]);
321
+ context.push(child, name);
322
+ }
323
+ context.exit();
324
+ };
325
+ reverseFilter.filterName = 'arrays';
326
+ const reverseArrayDeltaIndex = (delta, index, itemDelta) => {
327
+ if (typeof index === 'string' && index[0] === '_') {
328
+ return parseInt(index.substring(1), 10);
329
+ } else if (Array.isArray(itemDelta) && itemDelta[2] === 0) {
330
+ return `_${index}`;
331
+ }
332
+ let reverseIndex = +index;
333
+ for (const deltaIndex in delta) {
334
+ const deltaItem = delta[deltaIndex];
335
+ if (Array.isArray(deltaItem)) {
336
+ if (deltaItem[2] === ARRAY_MOVE) {
337
+ const moveFromIndex = parseInt(deltaIndex.substring(1), 10);
338
+ const moveToIndex = deltaItem[1];
339
+ if (moveToIndex === +index) {
340
+ return moveFromIndex;
341
+ }
342
+ if (moveFromIndex <= reverseIndex && moveToIndex > reverseIndex) {
343
+ reverseIndex++;
344
+ } else if (moveFromIndex >= reverseIndex && moveToIndex < reverseIndex) {
345
+ reverseIndex--;
346
+ }
347
+ } else if (deltaItem[2] === 0) {
348
+ const deleteIndex = parseInt(deltaIndex.substring(1), 10);
349
+ if (deleteIndex <= reverseIndex) {
350
+ reverseIndex++;
351
+ }
352
+ } else if (deltaItem.length === 1 && parseInt(deltaIndex, 10) <= reverseIndex) {
353
+ reverseIndex--;
354
+ }
355
+ }
356
+ }
357
+ return reverseIndex;
358
+ };
359
+ const collectChildrenReverseFilter = context => {
360
+ if (!context || !context.children) {
361
+ return;
362
+ }
363
+ const deltaWithChildren = context.delta;
364
+ if (deltaWithChildren._t !== 'a') {
365
+ return;
366
+ }
367
+ const arrayDelta = deltaWithChildren;
368
+ const length = context.children.length;
369
+ let child;
370
+ const delta = {
371
+ _t: 'a'
372
+ };
373
+ for (let index = 0; index < length; index++) {
374
+ child = context.children[index];
375
+ let name = child.newName;
376
+ if (typeof name === 'undefined') {
377
+ name = reverseArrayDeltaIndex(arrayDelta, child.childName, child.result);
378
+ }
379
+ if (delta[name] !== child.result) {
380
+ // There's no way to type this well.
381
+ delta[name] = child.result;
382
+ }
383
+ }
384
+ context.setResult(delta).exit();
385
+ };
386
+ exports.collectChildrenReverseFilter = collectChildrenReverseFilter;
387
+ collectChildrenReverseFilter.filterName = 'arraysCollectChildren';
388
+ //# sourceMappingURL=arrays.js.map