vscroll 1.6.3 → 1.7.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 (315) hide show
  1. package/dist/bundles/vscroll.esm5.js +5704 -5705
  2. package/dist/bundles/vscroll.esm5.js.map +1 -1
  3. package/dist/bundles/vscroll.esm5.min.js +2 -2
  4. package/dist/bundles/vscroll.esm5.min.js.map +1 -1
  5. package/dist/bundles/vscroll.esm6.js +5193 -5194
  6. package/dist/bundles/vscroll.esm6.js.map +1 -1
  7. package/dist/bundles/vscroll.esm6.min.js +2 -2
  8. package/dist/bundles/vscroll.esm6.min.js.map +1 -1
  9. package/dist/bundles/vscroll.umd.js +5712 -5714
  10. package/dist/bundles/vscroll.umd.js.map +1 -1
  11. package/dist/bundles/vscroll.umd.min.js +2 -2
  12. package/dist/bundles/vscroll.umd.min.js.map +1 -1
  13. package/dist/esm2015/classes/adapter/context.js +43 -43
  14. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/props.js +300 -300
  16. package/dist/esm2015/classes/adapter/wanted.js +28 -28
  17. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  18. package/dist/esm2015/classes/adapter.js +487 -487
  19. package/dist/esm2015/classes/adapter.js.map +1 -1
  20. package/dist/esm2015/classes/buffer/cache.js +246 -246
  21. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  22. package/dist/esm2015/classes/buffer/checkCall.js +48 -48
  23. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  24. package/dist/esm2015/classes/buffer/defaultSize.js +127 -127
  25. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  26. package/dist/esm2015/classes/buffer.js +342 -342
  27. package/dist/esm2015/classes/buffer.js.map +1 -1
  28. package/dist/esm2015/classes/datasource.js +23 -24
  29. package/dist/esm2015/classes/datasource.js.map +1 -1
  30. package/dist/esm2015/classes/domRoutines.js +160 -160
  31. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  32. package/dist/esm2015/classes/item.js +61 -61
  33. package/dist/esm2015/classes/item.js.map +1 -1
  34. package/dist/esm2015/classes/logger.js +186 -186
  35. package/dist/esm2015/classes/logger.js.map +1 -1
  36. package/dist/esm2015/classes/paddings.js +72 -72
  37. package/dist/esm2015/classes/paddings.js.map +1 -1
  38. package/dist/esm2015/classes/reactive.js +54 -54
  39. package/dist/esm2015/classes/reactive.js.map +1 -1
  40. package/dist/esm2015/classes/settings.js +39 -39
  41. package/dist/esm2015/classes/settings.js.map +1 -1
  42. package/dist/esm2015/classes/state/clip.js +16 -16
  43. package/dist/esm2015/classes/state/clip.js.map +1 -1
  44. package/dist/esm2015/classes/state/cycle.js +60 -60
  45. package/dist/esm2015/classes/state/cycle.js.map +1 -1
  46. package/dist/esm2015/classes/state/fetch.js +122 -122
  47. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  48. package/dist/esm2015/classes/state/render.js +14 -14
  49. package/dist/esm2015/classes/state/scroll.js +30 -30
  50. package/dist/esm2015/classes/state/scroll.js.map +1 -1
  51. package/dist/esm2015/classes/state.js +62 -62
  52. package/dist/esm2015/classes/state.js.map +1 -1
  53. package/dist/esm2015/classes/viewport.js +72 -72
  54. package/dist/esm2015/classes/viewport.js.map +1 -1
  55. package/dist/esm2015/index.js +9 -9
  56. package/dist/esm2015/inputs/adapter.js +242 -242
  57. package/dist/esm2015/inputs/common.js +11 -11
  58. package/dist/esm2015/inputs/datasource.js +20 -20
  59. package/dist/esm2015/inputs/index.js +7 -7
  60. package/dist/esm2015/inputs/settings.js +146 -146
  61. package/dist/esm2015/inputs/validation.js +371 -374
  62. package/dist/esm2015/inputs/validation.js.map +1 -1
  63. package/dist/esm2015/inputs/workflow.js +30 -30
  64. package/dist/esm2015/interfaces/adapter.js +1 -1
  65. package/dist/esm2015/interfaces/datasource.js +1 -1
  66. package/dist/esm2015/interfaces/index.js +1 -1
  67. package/dist/esm2015/interfaces/item.js +1 -1
  68. package/dist/esm2015/interfaces/process.js +1 -1
  69. package/dist/esm2015/interfaces/process.js.map +1 -1
  70. package/dist/esm2015/interfaces/routines.js +1 -1
  71. package/dist/esm2015/interfaces/settings.js +1 -1
  72. package/dist/esm2015/interfaces/state.js +1 -1
  73. package/dist/esm2015/interfaces/validation.js +1 -1
  74. package/dist/esm2015/interfaces/workflow.js +1 -1
  75. package/dist/esm2015/processes/adapter/append.js +36 -36
  76. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  77. package/dist/esm2015/processes/adapter/check.js +32 -32
  78. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  79. package/dist/esm2015/processes/adapter/clip.js +12 -12
  80. package/dist/esm2015/processes/adapter/fix.js +77 -77
  81. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  82. package/dist/esm2015/processes/adapter/insert.js +73 -73
  83. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  84. package/dist/esm2015/processes/adapter/pause.js +22 -22
  85. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  86. package/dist/esm2015/processes/adapter/reload.js +19 -19
  87. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  88. package/dist/esm2015/processes/adapter/remove.js +102 -102
  89. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  90. package/dist/esm2015/processes/adapter/replace.js +39 -39
  91. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  92. package/dist/esm2015/processes/adapter/reset.js +35 -35
  93. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  94. package/dist/esm2015/processes/adapter/update.js +43 -43
  95. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  96. package/dist/esm2015/processes/adjust.js +141 -141
  97. package/dist/esm2015/processes/adjust.js.map +1 -1
  98. package/dist/esm2015/processes/clip.js +49 -49
  99. package/dist/esm2015/processes/clip.js.map +1 -1
  100. package/dist/esm2015/processes/end.js +52 -52
  101. package/dist/esm2015/processes/end.js.map +1 -1
  102. package/dist/esm2015/processes/fetch.js +91 -91
  103. package/dist/esm2015/processes/fetch.js.map +1 -1
  104. package/dist/esm2015/processes/index.js +24 -24
  105. package/dist/esm2015/processes/init.js +14 -14
  106. package/dist/esm2015/processes/misc/base.js +30 -30
  107. package/dist/esm2015/processes/misc/base.js.map +1 -1
  108. package/dist/esm2015/processes/misc/enums.js +36 -36
  109. package/dist/esm2015/processes/misc/index.js +2 -2
  110. package/dist/esm2015/processes/postFetch.js +65 -65
  111. package/dist/esm2015/processes/postFetch.js.map +1 -1
  112. package/dist/esm2015/processes/preClip.js +85 -85
  113. package/dist/esm2015/processes/preClip.js.map +1 -1
  114. package/dist/esm2015/processes/preFetch.js +240 -240
  115. package/dist/esm2015/processes/preFetch.js.map +1 -1
  116. package/dist/esm2015/processes/render.js +54 -54
  117. package/dist/esm2015/processes/render.js.map +1 -1
  118. package/dist/esm2015/processes/scroll.js +97 -97
  119. package/dist/esm2015/processes/scroll.js.map +1 -1
  120. package/dist/esm2015/processes/start.js +11 -11
  121. package/dist/esm2015/scroller.js +86 -86
  122. package/dist/esm2015/scroller.js.map +1 -1
  123. package/dist/esm2015/version.js +4 -4
  124. package/dist/esm2015/version.js.map +1 -1
  125. package/dist/esm2015/workflow-transducer.js +218 -218
  126. package/dist/esm2015/workflow-transducer.js.map +1 -1
  127. package/dist/esm2015/workflow.js +174 -174
  128. package/dist/esm2015/workflow.js.map +1 -1
  129. package/dist/esm5/classes/adapter/context.js +50 -50
  130. package/dist/esm5/classes/adapter/context.js.map +1 -1
  131. package/dist/esm5/classes/adapter/props.js +300 -300
  132. package/dist/esm5/classes/adapter/wanted.js +29 -29
  133. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  134. package/dist/esm5/classes/adapter.js +535 -535
  135. package/dist/esm5/classes/adapter.js.map +1 -1
  136. package/dist/esm5/classes/buffer/cache.js +260 -260
  137. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  138. package/dist/esm5/classes/buffer/checkCall.js +56 -56
  139. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  140. package/dist/esm5/classes/buffer/defaultSize.js +145 -145
  141. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  142. package/dist/esm5/classes/buffer.js +409 -409
  143. package/dist/esm5/classes/buffer.js.map +1 -1
  144. package/dist/esm5/classes/datasource.js +30 -31
  145. package/dist/esm5/classes/datasource.js.map +1 -1
  146. package/dist/esm5/classes/domRoutines.js +165 -165
  147. package/dist/esm5/classes/domRoutines.js.map +1 -1
  148. package/dist/esm5/classes/item.js +76 -76
  149. package/dist/esm5/classes/item.js.map +1 -1
  150. package/dist/esm5/classes/logger.js +210 -210
  151. package/dist/esm5/classes/logger.js.map +1 -1
  152. package/dist/esm5/classes/paddings.js +80 -80
  153. package/dist/esm5/classes/paddings.js.map +1 -1
  154. package/dist/esm5/classes/reactive.js +69 -69
  155. package/dist/esm5/classes/reactive.js.map +1 -1
  156. package/dist/esm5/classes/settings.js +47 -47
  157. package/dist/esm5/classes/settings.js.map +1 -1
  158. package/dist/esm5/classes/state/clip.js +22 -22
  159. package/dist/esm5/classes/state/clip.js.map +1 -1
  160. package/dist/esm5/classes/state/cycle.js +75 -75
  161. package/dist/esm5/classes/state/cycle.js.map +1 -1
  162. package/dist/esm5/classes/state/fetch.js +148 -148
  163. package/dist/esm5/classes/state/fetch.js.map +1 -1
  164. package/dist/esm5/classes/state/render.js +20 -20
  165. package/dist/esm5/classes/state/scroll.js +32 -32
  166. package/dist/esm5/classes/state/scroll.js.map +1 -1
  167. package/dist/esm5/classes/state.js +69 -69
  168. package/dist/esm5/classes/state.js.map +1 -1
  169. package/dist/esm5/classes/viewport.js +79 -79
  170. package/dist/esm5/classes/viewport.js.map +1 -1
  171. package/dist/esm5/index.js +9 -9
  172. package/dist/esm5/inputs/adapter.js +243 -243
  173. package/dist/esm5/inputs/common.js +11 -11
  174. package/dist/esm5/inputs/datasource.js +21 -21
  175. package/dist/esm5/inputs/index.js +7 -7
  176. package/dist/esm5/inputs/settings.js +147 -147
  177. package/dist/esm5/inputs/validation.js +393 -396
  178. package/dist/esm5/inputs/validation.js.map +1 -1
  179. package/dist/esm5/inputs/workflow.js +31 -31
  180. package/dist/esm5/interfaces/adapter.js +1 -1
  181. package/dist/esm5/interfaces/datasource.js +1 -1
  182. package/dist/esm5/interfaces/index.js +1 -1
  183. package/dist/esm5/interfaces/item.js +1 -1
  184. package/dist/esm5/interfaces/process.js +1 -1
  185. package/dist/esm5/interfaces/process.js.map +1 -1
  186. package/dist/esm5/interfaces/routines.js +1 -1
  187. package/dist/esm5/interfaces/settings.js +1 -1
  188. package/dist/esm5/interfaces/state.js +1 -1
  189. package/dist/esm5/interfaces/validation.js +1 -1
  190. package/dist/esm5/interfaces/workflow.js +1 -1
  191. package/dist/esm5/processes/adapter/append.js +44 -44
  192. package/dist/esm5/processes/adapter/append.js.map +1 -1
  193. package/dist/esm5/processes/adapter/check.js +39 -39
  194. package/dist/esm5/processes/adapter/check.js.map +1 -1
  195. package/dist/esm5/processes/adapter/clip.js +19 -19
  196. package/dist/esm5/processes/adapter/fix.js +89 -89
  197. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  198. package/dist/esm5/processes/adapter/insert.js +81 -81
  199. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  200. package/dist/esm5/processes/adapter/pause.js +29 -29
  201. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  202. package/dist/esm5/processes/adapter/reload.js +26 -26
  203. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  204. package/dist/esm5/processes/adapter/remove.js +115 -115
  205. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  206. package/dist/esm5/processes/adapter/replace.js +47 -47
  207. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  208. package/dist/esm5/processes/adapter/reset.js +42 -42
  209. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  210. package/dist/esm5/processes/adapter/update.js +59 -59
  211. package/dist/esm5/processes/adapter/update.js.map +1 -1
  212. package/dist/esm5/processes/adjust.js +152 -152
  213. package/dist/esm5/processes/adjust.js.map +1 -1
  214. package/dist/esm5/processes/clip.js +60 -60
  215. package/dist/esm5/processes/clip.js.map +1 -1
  216. package/dist/esm5/processes/end.js +63 -63
  217. package/dist/esm5/processes/end.js.map +1 -1
  218. package/dist/esm5/processes/fetch.js +102 -102
  219. package/dist/esm5/processes/fetch.js.map +1 -1
  220. package/dist/esm5/processes/index.js +24 -24
  221. package/dist/esm5/processes/init.js +21 -21
  222. package/dist/esm5/processes/misc/base.js +44 -44
  223. package/dist/esm5/processes/misc/base.js.map +1 -1
  224. package/dist/esm5/processes/misc/enums.js +36 -36
  225. package/dist/esm5/processes/misc/index.js +2 -2
  226. package/dist/esm5/processes/postFetch.js +74 -74
  227. package/dist/esm5/processes/postFetch.js.map +1 -1
  228. package/dist/esm5/processes/preClip.js +94 -94
  229. package/dist/esm5/processes/preClip.js.map +1 -1
  230. package/dist/esm5/processes/preFetch.js +247 -247
  231. package/dist/esm5/processes/preFetch.js.map +1 -1
  232. package/dist/esm5/processes/render.js +63 -63
  233. package/dist/esm5/processes/render.js.map +1 -1
  234. package/dist/esm5/processes/scroll.js +107 -107
  235. package/dist/esm5/processes/scroll.js.map +1 -1
  236. package/dist/esm5/processes/start.js +18 -18
  237. package/dist/esm5/scroller.js +100 -100
  238. package/dist/esm5/scroller.js.map +1 -1
  239. package/dist/esm5/version.js +4 -4
  240. package/dist/esm5/version.js.map +1 -1
  241. package/dist/esm5/workflow-transducer.js +220 -220
  242. package/dist/esm5/workflow-transducer.js.map +1 -1
  243. package/dist/esm5/workflow.js +198 -198
  244. package/dist/esm5/workflow.js.map +1 -1
  245. package/dist/typings/classes/adapter/context.d.ts +4 -4
  246. package/dist/typings/classes/adapter/props.d.ts +52 -52
  247. package/dist/typings/classes/adapter/wanted.d.ts +14 -14
  248. package/dist/typings/classes/adapter.d.ts +79 -79
  249. package/dist/typings/classes/buffer/cache.d.ts +95 -95
  250. package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
  251. package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
  252. package/dist/typings/classes/buffer.d.ts +64 -64
  253. package/dist/typings/classes/datasource.d.ts +11 -11
  254. package/dist/typings/classes/domRoutines.d.ts +36 -36
  255. package/dist/typings/classes/item.d.ts +28 -28
  256. package/dist/typings/classes/logger.d.ts +28 -28
  257. package/dist/typings/classes/paddings.d.ts +22 -22
  258. package/dist/typings/classes/reactive.d.ts +21 -21
  259. package/dist/typings/classes/settings.d.ts +119 -119
  260. package/dist/typings/classes/state/clip.d.ts +9 -9
  261. package/dist/typings/classes/state/cycle.d.ts +29 -29
  262. package/dist/typings/classes/state/fetch.d.ts +62 -62
  263. package/dist/typings/classes/state/render.d.ts +9 -9
  264. package/dist/typings/classes/state/scroll.d.ts +16 -16
  265. package/dist/typings/classes/state.d.ts +29 -29
  266. package/dist/typings/classes/viewport.d.ts +32 -32
  267. package/dist/typings/index.d.ts +10 -10
  268. package/dist/typings/inputs/adapter.d.ts +5 -5
  269. package/dist/typings/inputs/common.d.ts +9 -9
  270. package/dist/typings/inputs/datasource.d.ts +7 -7
  271. package/dist/typings/inputs/index.d.ts +7 -7
  272. package/dist/typings/inputs/settings.d.ts +41 -41
  273. package/dist/typings/inputs/validation.d.ts +82 -83
  274. package/dist/typings/inputs/workflow.d.ts +9 -9
  275. package/dist/typings/interfaces/adapter.d.ts +164 -164
  276. package/dist/typings/interfaces/datasource.d.ts +28 -28
  277. package/dist/typings/interfaces/index.d.ts +10 -10
  278. package/dist/typings/interfaces/item.d.ts +8 -8
  279. package/dist/typings/interfaces/process.d.ts +35 -35
  280. package/dist/typings/interfaces/routines.d.ts +166 -166
  281. package/dist/typings/interfaces/settings.d.ts +31 -31
  282. package/dist/typings/interfaces/state.d.ts +24 -24
  283. package/dist/typings/interfaces/validation.d.ts +33 -33
  284. package/dist/typings/interfaces/workflow.d.ts +53 -53
  285. package/dist/typings/processes/adapter/append.d.ts +14 -14
  286. package/dist/typings/processes/adapter/check.d.ts +6 -6
  287. package/dist/typings/processes/adapter/clip.d.ts +7 -7
  288. package/dist/typings/processes/adapter/fix.d.ts +13 -13
  289. package/dist/typings/processes/adapter/insert.d.ts +11 -11
  290. package/dist/typings/processes/adapter/pause.d.ts +8 -8
  291. package/dist/typings/processes/adapter/reload.d.ts +6 -6
  292. package/dist/typings/processes/adapter/remove.d.ts +11 -11
  293. package/dist/typings/processes/adapter/replace.d.ts +8 -8
  294. package/dist/typings/processes/adapter/reset.d.ts +7 -7
  295. package/dist/typings/processes/adapter/update.d.ts +8 -8
  296. package/dist/typings/processes/adjust.d.ts +10 -10
  297. package/dist/typings/processes/clip.d.ts +7 -7
  298. package/dist/typings/processes/end.d.ts +10 -10
  299. package/dist/typings/processes/fetch.d.ts +18 -18
  300. package/dist/typings/processes/index.d.ts +24 -24
  301. package/dist/typings/processes/init.d.ts +7 -7
  302. package/dist/typings/processes/misc/base.d.ts +4 -4
  303. package/dist/typings/processes/misc/enums.d.ts +33 -33
  304. package/dist/typings/processes/misc/index.d.ts +2 -2
  305. package/dist/typings/processes/postFetch.d.ts +8 -8
  306. package/dist/typings/processes/preClip.d.ts +12 -12
  307. package/dist/typings/processes/preFetch.d.ts +17 -17
  308. package/dist/typings/processes/render.d.ts +9 -9
  309. package/dist/typings/processes/scroll.d.ts +13 -13
  310. package/dist/typings/processes/start.d.ts +6 -6
  311. package/dist/typings/scroller.d.ts +26 -26
  312. package/dist/typings/version.d.ts +5 -5
  313. package/dist/typings/workflow-transducer.d.ts +2 -2
  314. package/dist/typings/workflow.d.ts +29 -29
  315. package/package.json +19 -18
@@ -1,76 +1,76 @@
1
- import { Reactive } from '../reactive';
2
- var InnerLoopModel = /** @class */ (function () {
3
- function InnerLoopModel(total) {
4
- this.total = total;
5
- this.isInitial = false;
6
- this.busy = new Reactive(false);
7
- }
8
- Object.defineProperty(InnerLoopModel.prototype, "first", {
9
- get: function () {
10
- return this.count === 0;
11
- },
12
- enumerable: false,
13
- configurable: true
14
- });
15
- InnerLoopModel.prototype.done = function () {
16
- this.isInitial = false;
17
- this.count++;
18
- this.total++;
19
- this.busy.set(false);
20
- };
21
- InnerLoopModel.prototype.start = function () {
22
- this.busy.set(true);
23
- };
24
- InnerLoopModel.prototype.dispose = function () {
25
- this.busy.dispose();
26
- };
27
- return InnerLoopModel;
28
- }());
29
- var WorkflowCycleModel = /** @class */ (function () {
30
- function WorkflowCycleModel(instanceIndex, cycle) {
31
- var cycleCount = cycle ? cycle.count : 1;
32
- var loopCount = cycle ? cycle.innerLoop.count : 0;
33
- this.instanceIndex = instanceIndex;
34
- this.innerLoop = new InnerLoopModel(loopCount);
35
- this.interrupter = null;
36
- this.busy = new Reactive(false);
37
- this.end(cycleCount);
38
- }
39
- Object.defineProperty(WorkflowCycleModel.prototype, "loopId", {
40
- get: function () {
41
- return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total);
42
- },
43
- enumerable: false,
44
- configurable: true
45
- });
46
- Object.defineProperty(WorkflowCycleModel.prototype, "loopIdNext", {
47
- get: function () {
48
- return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total + 1);
49
- },
50
- enumerable: false,
51
- configurable: true
52
- });
53
- WorkflowCycleModel.prototype.start = function (isInitial, initiator) {
54
- this.isInitial = isInitial;
55
- this.initiator = initiator;
56
- this.innerLoop.isInitial = isInitial;
57
- this.innerLoop.count = 0;
58
- this.interrupter = null;
59
- this.busy.set(true);
60
- };
61
- WorkflowCycleModel.prototype.end = function (count) {
62
- this.count = count;
63
- this.isInitial = false;
64
- this.busy.set(false);
65
- };
66
- WorkflowCycleModel.prototype.dispose = function (forever) {
67
- if (forever) {
68
- // otherwise the value will be persisted during re-instantiation
69
- this.busy.dispose();
70
- }
71
- this.innerLoop.dispose();
72
- };
73
- return WorkflowCycleModel;
74
- }());
75
- export { WorkflowCycleModel };
1
+ import { Reactive } from '../reactive';
2
+ var InnerLoopModel = /** @class */ (function () {
3
+ function InnerLoopModel(total) {
4
+ this.total = total;
5
+ this.isInitial = false;
6
+ this.busy = new Reactive(false);
7
+ }
8
+ Object.defineProperty(InnerLoopModel.prototype, "first", {
9
+ get: function () {
10
+ return this.count === 0;
11
+ },
12
+ enumerable: false,
13
+ configurable: true
14
+ });
15
+ InnerLoopModel.prototype.done = function () {
16
+ this.isInitial = false;
17
+ this.count++;
18
+ this.total++;
19
+ this.busy.set(false);
20
+ };
21
+ InnerLoopModel.prototype.start = function () {
22
+ this.busy.set(true);
23
+ };
24
+ InnerLoopModel.prototype.dispose = function () {
25
+ this.busy.dispose();
26
+ };
27
+ return InnerLoopModel;
28
+ }());
29
+ var WorkflowCycleModel = /** @class */ (function () {
30
+ function WorkflowCycleModel(instanceIndex, cycle) {
31
+ var cycleCount = cycle ? cycle.count : 1;
32
+ var loopCount = cycle ? cycle.innerLoop.count : 0;
33
+ this.instanceIndex = instanceIndex;
34
+ this.innerLoop = new InnerLoopModel(loopCount);
35
+ this.interrupter = null;
36
+ this.busy = new Reactive(false);
37
+ this.end(cycleCount);
38
+ }
39
+ Object.defineProperty(WorkflowCycleModel.prototype, "loopId", {
40
+ get: function () {
41
+ return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total);
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ Object.defineProperty(WorkflowCycleModel.prototype, "loopIdNext", {
47
+ get: function () {
48
+ return "".concat(this.instanceIndex, "-").concat(this.count, "-").concat(this.innerLoop.total + 1);
49
+ },
50
+ enumerable: false,
51
+ configurable: true
52
+ });
53
+ WorkflowCycleModel.prototype.start = function (isInitial, initiator) {
54
+ this.isInitial = isInitial;
55
+ this.initiator = initiator;
56
+ this.innerLoop.isInitial = isInitial;
57
+ this.innerLoop.count = 0;
58
+ this.interrupter = null;
59
+ this.busy.set(true);
60
+ };
61
+ WorkflowCycleModel.prototype.end = function (count) {
62
+ this.count = count;
63
+ this.isInitial = false;
64
+ this.busy.set(false);
65
+ };
66
+ WorkflowCycleModel.prototype.dispose = function (forever) {
67
+ if (forever) {
68
+ // otherwise the value will be persisted during re-instantiation
69
+ this.busy.dispose();
70
+ }
71
+ this.innerLoop.dispose();
72
+ };
73
+ return WorkflowCycleModel;
74
+ }());
75
+ export { WorkflowCycleModel };
76
76
  //# sourceMappingURL=cycle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../../../src/classes/state/cycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;IAUE,wBAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3C,CAAC;IARD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1B,CAAC;;;OAAA;IAQD,6BAAI,GAAJ;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AA9BD,IA8BC;AAED;IAiBE,4BAAY,aAAqB,EAAE,KAA0B;QAC3D,IAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAjBD,sBAAI,sCAAM;aAAV;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC;QACvE,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC3E,CAAC;;;OAAA;IAaD,kCAAK,GAAL,UAAM,SAAkB,EAAE,SAAsB;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAG,GAAH,UAAI,KAAa;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAiB;QACvB,IAAI,OAAO,EAAE;YACX,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACrB;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,yBAAC;AAAD,CAAC,AAlDD,IAkDC","sourcesContent":["import { ProcessName } from '../../interfaces/index';\r\nimport { Reactive } from '../reactive';\r\n\r\nclass InnerLoopModel {\r\n total: number;\r\n count: number;\r\n isInitial: boolean;\r\n busy: Reactive<boolean>;\r\n\r\n get first(): boolean {\r\n return this.count === 0;\r\n }\r\n\r\n constructor(total: number) {\r\n this.total = total;\r\n this.isInitial = false;\r\n this.busy = new Reactive<boolean>(false);\r\n }\r\n\r\n done() {\r\n this.isInitial = false;\r\n this.count++;\r\n this.total++;\r\n this.busy.set(false);\r\n }\r\n\r\n start() {\r\n this.busy.set(true);\r\n }\r\n\r\n dispose() {\r\n this.busy.dispose();\r\n }\r\n}\r\n\r\nexport class WorkflowCycleModel {\r\n instanceIndex: number;\r\n count: number;\r\n isInitial: boolean;\r\n initiator: ProcessName;\r\n innerLoop: InnerLoopModel;\r\n interrupter: ProcessName | null;\r\n busy: Reactive<boolean>;\r\n\r\n get loopId(): string {\r\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;\r\n }\r\n\r\n get loopIdNext(): string {\r\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;\r\n }\r\n\r\n constructor(instanceIndex: number, cycle?: WorkflowCycleModel) {\r\n const cycleCount = cycle ? cycle.count : 1;\r\n const loopCount = cycle ? cycle.innerLoop.count : 0;\r\n\r\n this.instanceIndex = instanceIndex;\r\n this.innerLoop = new InnerLoopModel(loopCount);\r\n this.interrupter = null;\r\n this.busy = new Reactive<boolean>(false);\r\n this.end(cycleCount);\r\n }\r\n\r\n start(isInitial: boolean, initiator: ProcessName): void {\r\n this.isInitial = isInitial;\r\n this.initiator = initiator;\r\n this.innerLoop.isInitial = isInitial;\r\n this.innerLoop.count = 0;\r\n this.interrupter = null;\r\n this.busy.set(true);\r\n }\r\n\r\n end(count: number): void {\r\n this.count = count;\r\n this.isInitial = false;\r\n this.busy.set(false);\r\n }\r\n\r\n dispose(forever?: boolean): void {\r\n if (forever) {\r\n // otherwise the value will be persisted during re-instantiation\r\n this.busy.dispose();\r\n }\r\n this.innerLoop.dispose();\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"cycle.js","sourceRoot":"","sources":["../../../../src/classes/state/cycle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC;IAUE,wBAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;IAC3C,CAAC;IARD,sBAAI,iCAAK;aAAT;YACE,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QAC1B,CAAC;;;OAAA;IAQD,6BAAI,GAAJ;QACE,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,8BAAK,GAAL;QACE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAO,GAAP;QACE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IACH,qBAAC;AAAD,CAAC,AA9BD,IA8BC;AAED;IAiBE,4BAAY,aAAqB,EAAE,KAA0B;QAC3D,IAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CAAU,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvB,CAAC;IAjBD,sBAAI,sCAAM;aAAV;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAE,CAAC;QACvE,CAAC;;;OAAA;IAED,sBAAI,0CAAU;aAAd;YACE,OAAO,UAAG,IAAI,CAAC,aAAa,cAAI,IAAI,CAAC,KAAK,cAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAE,CAAC;QAC3E,CAAC;;;OAAA;IAaD,kCAAK,GAAL,UAAM,SAAkB,EAAE,SAAsB;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;QACrC,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,gCAAG,GAAH,UAAI,KAAa;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,oCAAO,GAAP,UAAQ,OAAiB;QACvB,IAAI,OAAO,EAAE,CAAC;YACZ,gEAAgE;YAChE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IACH,yBAAC;AAAD,CAAC,AAlDD,IAkDC","sourcesContent":["import { ProcessName } from '../../interfaces/index';\r\nimport { Reactive } from '../reactive';\r\n\r\nclass InnerLoopModel {\r\n total: number;\r\n count: number;\r\n isInitial: boolean;\r\n busy: Reactive<boolean>;\r\n\r\n get first(): boolean {\r\n return this.count === 0;\r\n }\r\n\r\n constructor(total: number) {\r\n this.total = total;\r\n this.isInitial = false;\r\n this.busy = new Reactive<boolean>(false);\r\n }\r\n\r\n done() {\r\n this.isInitial = false;\r\n this.count++;\r\n this.total++;\r\n this.busy.set(false);\r\n }\r\n\r\n start() {\r\n this.busy.set(true);\r\n }\r\n\r\n dispose() {\r\n this.busy.dispose();\r\n }\r\n}\r\n\r\nexport class WorkflowCycleModel {\r\n instanceIndex: number;\r\n count: number;\r\n isInitial: boolean;\r\n initiator: ProcessName;\r\n innerLoop: InnerLoopModel;\r\n interrupter: ProcessName | null;\r\n busy: Reactive<boolean>;\r\n\r\n get loopId(): string {\r\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;\r\n }\r\n\r\n get loopIdNext(): string {\r\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;\r\n }\r\n\r\n constructor(instanceIndex: number, cycle?: WorkflowCycleModel) {\r\n const cycleCount = cycle ? cycle.count : 1;\r\n const loopCount = cycle ? cycle.innerLoop.count : 0;\r\n\r\n this.instanceIndex = instanceIndex;\r\n this.innerLoop = new InnerLoopModel(loopCount);\r\n this.interrupter = null;\r\n this.busy = new Reactive<boolean>(false);\r\n this.end(cycleCount);\r\n }\r\n\r\n start(isInitial: boolean, initiator: ProcessName): void {\r\n this.isInitial = isInitial;\r\n this.initiator = initiator;\r\n this.innerLoop.isInitial = isInitial;\r\n this.innerLoop.count = 0;\r\n this.interrupter = null;\r\n this.busy.set(true);\r\n }\r\n\r\n end(count: number): void {\r\n this.count = count;\r\n this.isInitial = false;\r\n this.busy.set(false);\r\n }\r\n\r\n dispose(forever?: boolean): void {\r\n if (forever) {\r\n // otherwise the value will be persisted during re-instantiation\r\n this.busy.dispose();\r\n }\r\n this.innerLoop.dispose();\r\n }\r\n}\r\n"]}
@@ -1,149 +1,149 @@
1
- import { Direction } from '../../inputs/index';
2
- var Positions = /** @class */ (function () {
3
- function Positions() {
4
- this.reset();
5
- }
6
- Positions.prototype.reset = function () {
7
- this.startDelta = 0;
8
- this.before = 0;
9
- };
10
- return Positions;
11
- }());
12
- var First = /** @class */ (function () {
13
- function First() {
14
- this.reset();
15
- }
16
- First.prototype.reset = function () {
17
- this.index = NaN;
18
- this.indexBuffer = NaN;
19
- this.position = NaN;
20
- };
21
- return First;
22
- }());
23
- var Last = /** @class */ (function () {
24
- function Last() {
25
- this.reset();
26
- }
27
- Last.prototype.reset = function () {
28
- this.index = NaN;
29
- this.indexBuffer = NaN;
30
- };
31
- return Last;
32
- }());
33
- var FirstVisible = /** @class */ (function () {
34
- function FirstVisible() {
35
- this.reset();
36
- }
37
- FirstVisible.prototype.reset = function () {
38
- this.index = NaN;
39
- this.delta = 0;
40
- };
41
- return FirstVisible;
42
- }());
43
- var FetchModel = /** @class */ (function () {
44
- function FetchModel(directionPriority) {
45
- this.directionPriority = directionPriority;
46
- this.callCount = 0;
47
- this.positions = new Positions();
48
- this.first = new First();
49
- this.last = new Last();
50
- this.firstVisible = new FirstVisible();
51
- this.reset();
52
- }
53
- FetchModel.prototype.reset = function () {
54
- this._newItemsData = null;
55
- this.items = [];
56
- this.positions.reset();
57
- this.first.reset();
58
- this.last.reset();
59
- this.firstVisible.reset();
60
- this.hasAnotherPack = false;
61
- this.direction = null;
62
- this.cancel = null;
63
- this.simulate = false;
64
- this.isCheck = false;
65
- this.doRemove = false;
66
- };
67
- Object.defineProperty(FetchModel.prototype, "newItemsData", {
68
- get: function () {
69
- return this._newItemsData;
70
- },
71
- set: function (items) {
72
- this._newItemsData = items;
73
- if (items && items.length) {
74
- this.callCount++;
75
- }
76
- },
77
- enumerable: false,
78
- configurable: true
79
- });
80
- Object.defineProperty(FetchModel.prototype, "shouldFetch", {
81
- get: function () {
82
- return !!this.count;
83
- },
84
- enumerable: false,
85
- configurable: true
86
- });
87
- Object.defineProperty(FetchModel.prototype, "hasNewItems", {
88
- get: function () {
89
- return !!((this._newItemsData && this._newItemsData.length));
90
- },
91
- enumerable: false,
92
- configurable: true
93
- });
94
- Object.defineProperty(FetchModel.prototype, "index", {
95
- get: function () {
96
- return this.first.index;
97
- },
98
- enumerable: false,
99
- configurable: true
100
- });
101
- Object.defineProperty(FetchModel.prototype, "count", {
102
- get: function () {
103
- return !isNaN(this.first.index) && !isNaN(this.last.index) ? this.last.index - this.first.index + 1 : 0;
104
- },
105
- enumerable: false,
106
- configurable: true
107
- });
108
- FetchModel.prototype.shouldCheckPreSizeExpectation = function (lastBufferedIndex) {
109
- if (this.directionPriority === Direction.backward) {
110
- return false;
111
- }
112
- var lastFetched = this.items[this.items.length - 1];
113
- return lastFetched && lastFetched.$index < lastBufferedIndex;
114
- };
115
- FetchModel.prototype.startSimulate = function (items) {
116
- this.simulate = true;
117
- this._newItemsData = items.map(function (item) { return item.data; });
118
- this.items = items;
119
- this.hasAnotherPack = false;
120
- };
121
- FetchModel.prototype.stopSimulate = function () {
122
- this.simulate = false;
123
- this.isCheck = false;
124
- this.doRemove = false;
125
- };
126
- FetchModel.prototype.fill = function (items, start) {
127
- this.startSimulate(items);
128
- this.first.index = items[0].$index;
129
- this.last.index = items[items.length - 1].$index;
130
- this.direction = Direction.forward;
131
- this.firstVisible.index = start;
132
- this.firstVisible.delta = 0;
133
- };
134
- FetchModel.prototype.check = function (items) {
135
- this.startSimulate(items);
136
- this.last.index = items[0].$index;
137
- this.first.index = items[items.length - 1].$index;
138
- this.isCheck = true;
139
- };
140
- FetchModel.prototype.update = function (index, delta, items, itemsToRemove) {
141
- this.startSimulate(items);
142
- this.firstVisible.index = index;
143
- this.firstVisible.delta = delta;
144
- this.doRemove = itemsToRemove.length > 0;
145
- };
146
- return FetchModel;
147
- }());
148
- export { FetchModel };
1
+ import { Direction } from '../../inputs/index';
2
+ var Positions = /** @class */ (function () {
3
+ function Positions() {
4
+ this.reset();
5
+ }
6
+ Positions.prototype.reset = function () {
7
+ this.startDelta = 0;
8
+ this.before = 0;
9
+ };
10
+ return Positions;
11
+ }());
12
+ var First = /** @class */ (function () {
13
+ function First() {
14
+ this.reset();
15
+ }
16
+ First.prototype.reset = function () {
17
+ this.index = NaN;
18
+ this.indexBuffer = NaN;
19
+ this.position = NaN;
20
+ };
21
+ return First;
22
+ }());
23
+ var Last = /** @class */ (function () {
24
+ function Last() {
25
+ this.reset();
26
+ }
27
+ Last.prototype.reset = function () {
28
+ this.index = NaN;
29
+ this.indexBuffer = NaN;
30
+ };
31
+ return Last;
32
+ }());
33
+ var FirstVisible = /** @class */ (function () {
34
+ function FirstVisible() {
35
+ this.reset();
36
+ }
37
+ FirstVisible.prototype.reset = function () {
38
+ this.index = NaN;
39
+ this.delta = 0;
40
+ };
41
+ return FirstVisible;
42
+ }());
43
+ var FetchModel = /** @class */ (function () {
44
+ function FetchModel(directionPriority) {
45
+ this.directionPriority = directionPriority;
46
+ this.callCount = 0;
47
+ this.positions = new Positions();
48
+ this.first = new First();
49
+ this.last = new Last();
50
+ this.firstVisible = new FirstVisible();
51
+ this.reset();
52
+ }
53
+ FetchModel.prototype.reset = function () {
54
+ this._newItemsData = null;
55
+ this.items = [];
56
+ this.positions.reset();
57
+ this.first.reset();
58
+ this.last.reset();
59
+ this.firstVisible.reset();
60
+ this.hasAnotherPack = false;
61
+ this.direction = null;
62
+ this.cancel = null;
63
+ this.simulate = false;
64
+ this.isCheck = false;
65
+ this.doRemove = false;
66
+ };
67
+ Object.defineProperty(FetchModel.prototype, "newItemsData", {
68
+ get: function () {
69
+ return this._newItemsData;
70
+ },
71
+ set: function (items) {
72
+ this._newItemsData = items;
73
+ if (items && items.length) {
74
+ this.callCount++;
75
+ }
76
+ },
77
+ enumerable: false,
78
+ configurable: true
79
+ });
80
+ Object.defineProperty(FetchModel.prototype, "shouldFetch", {
81
+ get: function () {
82
+ return !!this.count;
83
+ },
84
+ enumerable: false,
85
+ configurable: true
86
+ });
87
+ Object.defineProperty(FetchModel.prototype, "hasNewItems", {
88
+ get: function () {
89
+ return !!((this._newItemsData && this._newItemsData.length));
90
+ },
91
+ enumerable: false,
92
+ configurable: true
93
+ });
94
+ Object.defineProperty(FetchModel.prototype, "index", {
95
+ get: function () {
96
+ return this.first.index;
97
+ },
98
+ enumerable: false,
99
+ configurable: true
100
+ });
101
+ Object.defineProperty(FetchModel.prototype, "count", {
102
+ get: function () {
103
+ return !isNaN(this.first.index) && !isNaN(this.last.index) ? this.last.index - this.first.index + 1 : 0;
104
+ },
105
+ enumerable: false,
106
+ configurable: true
107
+ });
108
+ FetchModel.prototype.shouldCheckPreSizeExpectation = function (lastBufferedIndex) {
109
+ if (this.directionPriority === Direction.backward) {
110
+ return false;
111
+ }
112
+ var lastFetched = this.items[this.items.length - 1];
113
+ return lastFetched && lastFetched.$index < lastBufferedIndex;
114
+ };
115
+ FetchModel.prototype.startSimulate = function (items) {
116
+ this.simulate = true;
117
+ this._newItemsData = items.map(function (item) { return item.data; });
118
+ this.items = items;
119
+ this.hasAnotherPack = false;
120
+ };
121
+ FetchModel.prototype.stopSimulate = function () {
122
+ this.simulate = false;
123
+ this.isCheck = false;
124
+ this.doRemove = false;
125
+ };
126
+ FetchModel.prototype.fill = function (items, start) {
127
+ this.startSimulate(items);
128
+ this.first.index = items[0].$index;
129
+ this.last.index = items[items.length - 1].$index;
130
+ this.direction = Direction.forward;
131
+ this.firstVisible.index = start;
132
+ this.firstVisible.delta = 0;
133
+ };
134
+ FetchModel.prototype.check = function (items) {
135
+ this.startSimulate(items);
136
+ this.last.index = items[0].$index;
137
+ this.first.index = items[items.length - 1].$index;
138
+ this.isCheck = true;
139
+ };
140
+ FetchModel.prototype.update = function (index, delta, items, itemsToRemove) {
141
+ this.startSimulate(items);
142
+ this.firstVisible.index = index;
143
+ this.firstVisible.delta = delta;
144
+ this.doRemove = itemsToRemove.length > 0;
145
+ };
146
+ return FetchModel;
147
+ }());
148
+ export { FetchModel };
149
149
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/classes/state/fetch.ts"],"names":[],"mappings":"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","sourcesContent":["import { Item } from '../item';\r\nimport { Direction } from '../../inputs/index';\r\n\r\nclass Positions {\r\n startDelta: number;\r\n before: number;\r\n relative: number;\r\n start: number;\r\n end: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.startDelta = 0;\r\n this.before = 0;\r\n }\r\n}\r\n\r\nclass First {\r\n index: number;\r\n indexBuffer: number;\r\n position: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.indexBuffer = NaN;\r\n this.position = NaN;\r\n }\r\n}\r\n\r\nclass Last {\r\n index: number;\r\n indexBuffer: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.indexBuffer = NaN;\r\n }\r\n}\r\n\r\nclass FirstVisible {\r\n index: number;\r\n delta: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.delta = 0;\r\n }\r\n}\r\n\r\nexport class FetchModel {\r\n private readonly directionPriority: Direction;\r\n private _newItemsData: unknown[] | null; // there are public setter and getter\r\n\r\n items: Item[];\r\n positions: Positions;\r\n first: First;\r\n last: Last;\r\n hasAnotherPack: boolean;\r\n callCount: number;\r\n minIndex: number;\r\n firstVisible: FirstVisible;\r\n direction: Direction | null;\r\n cancel: (() => void) | null;\r\n\r\n simulate: boolean;\r\n isCheck: boolean;\r\n doRemove: boolean;\r\n\r\n constructor(directionPriority: Direction) {\r\n this.directionPriority = directionPriority;\r\n this.callCount = 0;\r\n this.positions = new Positions();\r\n this.first = new First();\r\n this.last = new Last();\r\n this.firstVisible = new FirstVisible();\r\n this.reset();\r\n }\r\n\r\n reset(): void {\r\n this._newItemsData = null;\r\n this.items = [];\r\n this.positions.reset();\r\n this.first.reset();\r\n this.last.reset();\r\n this.firstVisible.reset();\r\n this.hasAnotherPack = false;\r\n this.direction = null;\r\n this.cancel = null;\r\n this.simulate = false;\r\n this.isCheck = false;\r\n this.doRemove = false;\r\n }\r\n\r\n get newItemsData(): unknown[] | null {\r\n return this._newItemsData;\r\n }\r\n\r\n set newItemsData(items: unknown[] | null) {\r\n this._newItemsData = items;\r\n if (items && items.length) {\r\n this.callCount++;\r\n }\r\n }\r\n\r\n get shouldFetch(): boolean {\r\n return !!this.count;\r\n }\r\n\r\n get hasNewItems(): boolean {\r\n return !!((this._newItemsData && this._newItemsData.length));\r\n }\r\n\r\n get index(): number {\r\n return this.first.index;\r\n }\r\n\r\n get count(): number {\r\n return !isNaN(this.first.index) && !isNaN(this.last.index) ? this.last.index - this.first.index + 1 : 0;\r\n }\r\n\r\n shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean {\r\n if (this.directionPriority === Direction.backward) {\r\n return false;\r\n }\r\n const lastFetched = this.items[this.items.length - 1];\r\n return lastFetched && lastFetched.$index < lastBufferedIndex;\r\n }\r\n\r\n startSimulate(items: Item[]): void {\r\n this.simulate = true;\r\n this._newItemsData = items.map(item => item.data);\r\n this.items = items;\r\n this.hasAnotherPack = false;\r\n }\r\n\r\n stopSimulate(): void {\r\n this.simulate = false;\r\n this.isCheck = false;\r\n this.doRemove = false;\r\n }\r\n\r\n fill(items: Item[], start: number): void {\r\n this.startSimulate(items);\r\n this.first.index = items[0].$index;\r\n this.last.index = items[items.length - 1].$index;\r\n this.direction = Direction.forward;\r\n this.firstVisible.index = start;\r\n this.firstVisible.delta = 0;\r\n }\r\n\r\n check(items: Item[]): void {\r\n this.startSimulate(items);\r\n this.last.index = items[0].$index;\r\n this.first.index = items[items.length - 1].$index;\r\n this.isCheck = true;\r\n }\r\n\r\n update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void {\r\n this.startSimulate(items);\r\n this.firstVisible.index = index;\r\n this.firstVisible.delta = delta;\r\n this.doRemove = itemsToRemove.length > 0;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../src/classes/state/fetch.ts"],"names":[],"mappings":"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","sourcesContent":["import { Item } from '../item';\r\nimport { Direction } from '../../inputs/index';\r\n\r\nclass Positions {\r\n startDelta: number;\r\n before: number;\r\n relative: number;\r\n start: number;\r\n end: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.startDelta = 0;\r\n this.before = 0;\r\n }\r\n}\r\n\r\nclass First {\r\n index: number;\r\n indexBuffer: number;\r\n position: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.indexBuffer = NaN;\r\n this.position = NaN;\r\n }\r\n}\r\n\r\nclass Last {\r\n index: number;\r\n indexBuffer: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.indexBuffer = NaN;\r\n }\r\n}\r\n\r\nclass FirstVisible {\r\n index: number;\r\n delta: number;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset() {\r\n this.index = NaN;\r\n this.delta = 0;\r\n }\r\n}\r\n\r\nexport class FetchModel {\r\n private readonly directionPriority: Direction;\r\n private _newItemsData: unknown[] | null; // there are public setter and getter\r\n\r\n items: Item[];\r\n positions: Positions;\r\n first: First;\r\n last: Last;\r\n hasAnotherPack: boolean;\r\n callCount: number;\r\n minIndex: number;\r\n firstVisible: FirstVisible;\r\n direction: Direction | null;\r\n cancel: (() => void) | null;\r\n\r\n simulate: boolean;\r\n isCheck: boolean;\r\n doRemove: boolean;\r\n\r\n constructor(directionPriority: Direction) {\r\n this.directionPriority = directionPriority;\r\n this.callCount = 0;\r\n this.positions = new Positions();\r\n this.first = new First();\r\n this.last = new Last();\r\n this.firstVisible = new FirstVisible();\r\n this.reset();\r\n }\r\n\r\n reset(): void {\r\n this._newItemsData = null;\r\n this.items = [];\r\n this.positions.reset();\r\n this.first.reset();\r\n this.last.reset();\r\n this.firstVisible.reset();\r\n this.hasAnotherPack = false;\r\n this.direction = null;\r\n this.cancel = null;\r\n this.simulate = false;\r\n this.isCheck = false;\r\n this.doRemove = false;\r\n }\r\n\r\n get newItemsData(): unknown[] | null {\r\n return this._newItemsData;\r\n }\r\n\r\n set newItemsData(items: unknown[] | null) {\r\n this._newItemsData = items;\r\n if (items && items.length) {\r\n this.callCount++;\r\n }\r\n }\r\n\r\n get shouldFetch(): boolean {\r\n return !!this.count;\r\n }\r\n\r\n get hasNewItems(): boolean {\r\n return !!((this._newItemsData && this._newItemsData.length));\r\n }\r\n\r\n get index(): number {\r\n return this.first.index;\r\n }\r\n\r\n get count(): number {\r\n return !isNaN(this.first.index) && !isNaN(this.last.index) ? this.last.index - this.first.index + 1 : 0;\r\n }\r\n\r\n shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean {\r\n if (this.directionPriority === Direction.backward) {\r\n return false;\r\n }\r\n const lastFetched = this.items[this.items.length - 1];\r\n return lastFetched && lastFetched.$index < lastBufferedIndex;\r\n }\r\n\r\n startSimulate(items: Item[]): void {\r\n this.simulate = true;\r\n this._newItemsData = items.map(item => item.data);\r\n this.items = items;\r\n this.hasAnotherPack = false;\r\n }\r\n\r\n stopSimulate(): void {\r\n this.simulate = false;\r\n this.isCheck = false;\r\n this.doRemove = false;\r\n }\r\n\r\n fill(items: Item[], start: number): void {\r\n this.startSimulate(items);\r\n this.first.index = items[0].$index;\r\n this.last.index = items[items.length - 1].$index;\r\n this.direction = Direction.forward;\r\n this.firstVisible.index = start;\r\n this.firstVisible.delta = 0;\r\n }\r\n\r\n check(items: Item[]): void {\r\n this.startSimulate(items);\r\n this.last.index = items[0].$index;\r\n this.first.index = items[items.length - 1].$index;\r\n this.isCheck = true;\r\n }\r\n\r\n update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void {\r\n this.startSimulate(items);\r\n this.firstVisible.index = index;\r\n this.firstVisible.delta = delta;\r\n this.doRemove = itemsToRemove.length > 0;\r\n }\r\n}\r\n"]}
@@ -1,21 +1,21 @@
1
- var RenderModel = /** @class */ (function () {
2
- function RenderModel() {
3
- this.reset();
4
- }
5
- Object.defineProperty(RenderModel.prototype, "noSize", {
6
- get: function () {
7
- return this.sizeBefore === this.sizeAfter;
8
- },
9
- enumerable: false,
10
- configurable: true
11
- });
12
- RenderModel.prototype.reset = function () {
13
- this.sizeBefore = 0;
14
- this.sizeAfter = 0;
15
- this.positionBefore = 0;
16
- this.cancel = null;
17
- };
18
- return RenderModel;
19
- }());
20
- export { RenderModel };
1
+ var RenderModel = /** @class */ (function () {
2
+ function RenderModel() {
3
+ this.reset();
4
+ }
5
+ Object.defineProperty(RenderModel.prototype, "noSize", {
6
+ get: function () {
7
+ return this.sizeBefore === this.sizeAfter;
8
+ },
9
+ enumerable: false,
10
+ configurable: true
11
+ });
12
+ RenderModel.prototype.reset = function () {
13
+ this.sizeBefore = 0;
14
+ this.sizeAfter = 0;
15
+ this.positionBefore = 0;
16
+ this.cancel = null;
17
+ };
18
+ return RenderModel;
19
+ }());
20
+ export { RenderModel };
21
21
  //# sourceMappingURL=render.js.map
@@ -1,33 +1,33 @@
1
- var ScrollModel = /** @class */ (function () {
2
- function ScrollModel() {
3
- this.reset();
4
- }
5
- ScrollModel.prototype.reset = function () {
6
- this.previous = null;
7
- this.current = null;
8
- this.syntheticPosition = null;
9
- this.syntheticFulfill = false;
10
- this.positionBeforeAsync = null;
11
- this.positionBeforeAdjust = null;
12
- this.positionAfterAdjust = null;
13
- this.stop();
14
- };
15
- ScrollModel.prototype.stop = function () {
16
- if (this.scrollTimer) {
17
- clearTimeout(this.scrollTimer);
18
- this.scrollTimer = null;
19
- }
20
- if (this.cancelAnimation) {
21
- this.cancelAnimation();
22
- this.cancelAnimation = null;
23
- }
24
- };
25
- ScrollModel.prototype.hasPositionChanged = function (position) {
26
- var before = this.positionBeforeAdjust;
27
- var after = this.positionAfterAdjust;
28
- return before === null || before !== position || after === null || after !== position;
29
- };
30
- return ScrollModel;
31
- }());
32
- export { ScrollModel };
1
+ var ScrollModel = /** @class */ (function () {
2
+ function ScrollModel() {
3
+ this.reset();
4
+ }
5
+ ScrollModel.prototype.reset = function () {
6
+ this.previous = null;
7
+ this.current = null;
8
+ this.syntheticPosition = null;
9
+ this.syntheticFulfill = false;
10
+ this.positionBeforeAsync = null;
11
+ this.positionBeforeAdjust = null;
12
+ this.positionAfterAdjust = null;
13
+ this.stop();
14
+ };
15
+ ScrollModel.prototype.stop = function () {
16
+ if (this.scrollTimer) {
17
+ clearTimeout(this.scrollTimer);
18
+ this.scrollTimer = null;
19
+ }
20
+ if (this.cancelAnimation) {
21
+ this.cancelAnimation();
22
+ this.cancelAnimation = null;
23
+ }
24
+ };
25
+ ScrollModel.prototype.hasPositionChanged = function (position) {
26
+ var before = this.positionBeforeAdjust;
27
+ var after = this.positionAfterAdjust;
28
+ return before === null || before !== position || after === null || after !== position;
29
+ };
30
+ return ScrollModel;
31
+ }());
32
+ export { ScrollModel };
33
33
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/classes/state/scroll.ts"],"names":[],"mappings":"AAEA;IAaE;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,2BAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;SACzB;QACD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;SAC7B;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,QAAgB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC;IACxF,CAAC;IACH,kBAAC;AAAD,CAAC,AA5CD,IA4CC","sourcesContent":["import { ScrollEventData as IScrollEventData } from '../../interfaces/index';\r\n\r\nexport class ScrollModel {\r\n previous: IScrollEventData | null;\r\n current: IScrollEventData | null;\r\n\r\n scrollTimer: ReturnType<typeof setTimeout> | null;\r\n\r\n syntheticPosition: number | null;\r\n syntheticFulfill: boolean;\r\n cancelAnimation: (() => void) | null;\r\n positionBeforeAsync: number | null;\r\n positionBeforeAdjust: number | null;\r\n positionAfterAdjust: number | null;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset(): void {\r\n this.previous = null;\r\n this.current = null;\r\n this.syntheticPosition = null;\r\n this.syntheticFulfill = false;\r\n this.positionBeforeAsync = null;\r\n this.positionBeforeAdjust = null;\r\n this.positionAfterAdjust = null;\r\n this.stop();\r\n }\r\n\r\n stop(): void {\r\n if (this.scrollTimer) {\r\n clearTimeout(this.scrollTimer);\r\n this.scrollTimer = null;\r\n }\r\n if (this.cancelAnimation) {\r\n this.cancelAnimation();\r\n this.cancelAnimation = null;\r\n }\r\n }\r\n\r\n hasPositionChanged(position: number): boolean {\r\n const before = this.positionBeforeAdjust;\r\n const after = this.positionAfterAdjust;\r\n return before === null || before !== position || after === null || after !== position;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/classes/state/scroll.ts"],"names":[],"mappings":"AAEA;IAaE;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,2BAAK,GAAL;QACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,0BAAI,GAAJ;QACE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,wCAAkB,GAAlB,UAAmB,QAAgB;QACjC,IAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,IAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC;QACvC,OAAO,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,QAAQ,CAAC;IACxF,CAAC;IACH,kBAAC;AAAD,CAAC,AA5CD,IA4CC","sourcesContent":["import { ScrollEventData as IScrollEventData } from '../../interfaces/index';\r\n\r\nexport class ScrollModel {\r\n previous: IScrollEventData | null;\r\n current: IScrollEventData | null;\r\n\r\n scrollTimer: ReturnType<typeof setTimeout> | null;\r\n\r\n syntheticPosition: number | null;\r\n syntheticFulfill: boolean;\r\n cancelAnimation: (() => void) | null;\r\n positionBeforeAsync: number | null;\r\n positionBeforeAdjust: number | null;\r\n positionAfterAdjust: number | null;\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset(): void {\r\n this.previous = null;\r\n this.current = null;\r\n this.syntheticPosition = null;\r\n this.syntheticFulfill = false;\r\n this.positionBeforeAsync = null;\r\n this.positionBeforeAdjust = null;\r\n this.positionAfterAdjust = null;\r\n this.stop();\r\n }\r\n\r\n stop(): void {\r\n if (this.scrollTimer) {\r\n clearTimeout(this.scrollTimer);\r\n this.scrollTimer = null;\r\n }\r\n if (this.cancelAnimation) {\r\n this.cancelAnimation();\r\n this.cancelAnimation = null;\r\n }\r\n }\r\n\r\n hasPositionChanged(position: number): boolean {\r\n const before = this.positionBeforeAdjust;\r\n const after = this.positionAfterAdjust;\r\n return before === null || before !== position || after === null || after !== position;\r\n }\r\n}\r\n"]}