vscroll 1.6.3 → 1.8.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 (363) hide show
  1. package/dist/bundles/vscroll.esm5.js +5854 -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 +5341 -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 +5858 -5710
  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 +44 -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/props.js.map +1 -1
  17. package/dist/esm2015/classes/adapter/wanted.js +28 -28
  18. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  19. package/dist/esm2015/classes/adapter.js +486 -487
  20. package/dist/esm2015/classes/adapter.js.map +1 -1
  21. package/dist/esm2015/classes/buffer/cache.js +249 -246
  22. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  23. package/dist/esm2015/classes/buffer/checkCall.js +47 -48
  24. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  25. package/dist/esm2015/classes/buffer/defaultSize.js +128 -127
  26. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  27. package/dist/esm2015/classes/buffer.js +343 -342
  28. package/dist/esm2015/classes/buffer.js.map +1 -1
  29. package/dist/esm2015/classes/datasource.js +36 -24
  30. package/dist/esm2015/classes/datasource.js.map +1 -1
  31. package/dist/esm2015/classes/domRoutines.js +160 -160
  32. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  33. package/dist/esm2015/classes/item.js +61 -61
  34. package/dist/esm2015/classes/item.js.map +1 -1
  35. package/dist/esm2015/classes/logger.js +229 -186
  36. package/dist/esm2015/classes/logger.js.map +1 -1
  37. package/dist/esm2015/classes/paddings.js +76 -72
  38. package/dist/esm2015/classes/paddings.js.map +1 -1
  39. package/dist/esm2015/classes/reactive.js +54 -54
  40. package/dist/esm2015/classes/reactive.js.map +1 -1
  41. package/dist/esm2015/classes/settings.js +39 -39
  42. package/dist/esm2015/classes/settings.js.map +1 -1
  43. package/dist/esm2015/classes/state/clip.js +16 -16
  44. package/dist/esm2015/classes/state/clip.js.map +1 -1
  45. package/dist/esm2015/classes/state/cycle.js +60 -60
  46. package/dist/esm2015/classes/state/cycle.js.map +1 -1
  47. package/dist/esm2015/classes/state/fetch.js +124 -122
  48. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  49. package/dist/esm2015/classes/state/render.js +14 -14
  50. package/dist/esm2015/classes/state/render.js.map +1 -1
  51. package/dist/esm2015/classes/state/scroll.js +30 -30
  52. package/dist/esm2015/classes/state/scroll.js.map +1 -1
  53. package/dist/esm2015/classes/state.js +64 -62
  54. package/dist/esm2015/classes/state.js.map +1 -1
  55. package/dist/esm2015/classes/viewport.js +74 -72
  56. package/dist/esm2015/classes/viewport.js.map +1 -1
  57. package/dist/esm2015/index.js +9 -9
  58. package/dist/esm2015/index.js.map +1 -1
  59. package/dist/esm2015/inputs/adapter.js +262 -242
  60. package/dist/esm2015/inputs/adapter.js.map +1 -1
  61. package/dist/esm2015/inputs/common.js +11 -11
  62. package/dist/esm2015/inputs/common.js.map +1 -1
  63. package/dist/esm2015/inputs/datasource.js +20 -20
  64. package/dist/esm2015/inputs/datasource.js.map +1 -1
  65. package/dist/esm2015/inputs/index.js +7 -7
  66. package/dist/esm2015/inputs/index.js.map +1 -1
  67. package/dist/esm2015/inputs/settings.js +151 -146
  68. package/dist/esm2015/inputs/settings.js.map +1 -1
  69. package/dist/esm2015/inputs/validation.js +365 -374
  70. package/dist/esm2015/inputs/validation.js.map +1 -1
  71. package/dist/esm2015/inputs/workflow.js +30 -30
  72. package/dist/esm2015/inputs/workflow.js.map +1 -1
  73. package/dist/esm2015/interfaces/adapter.js +1 -1
  74. package/dist/esm2015/interfaces/adapter.js.map +1 -1
  75. package/dist/esm2015/interfaces/datasource.js +1 -1
  76. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  77. package/dist/esm2015/interfaces/index.js +1 -1
  78. package/dist/esm2015/interfaces/index.js.map +1 -1
  79. package/dist/esm2015/interfaces/item.js +1 -1
  80. package/dist/esm2015/interfaces/item.js.map +1 -1
  81. package/dist/esm2015/interfaces/process.js +1 -1
  82. package/dist/esm2015/interfaces/process.js.map +1 -1
  83. package/dist/esm2015/interfaces/routines.js +1 -1
  84. package/dist/esm2015/interfaces/routines.js.map +1 -1
  85. package/dist/esm2015/interfaces/settings.js +1 -1
  86. package/dist/esm2015/interfaces/settings.js.map +1 -1
  87. package/dist/esm2015/interfaces/state.js +1 -1
  88. package/dist/esm2015/interfaces/state.js.map +1 -1
  89. package/dist/esm2015/interfaces/validation.js +1 -1
  90. package/dist/esm2015/interfaces/validation.js.map +1 -1
  91. package/dist/esm2015/interfaces/workflow.js +1 -1
  92. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  93. package/dist/esm2015/processes/adapter/append.js +37 -36
  94. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  95. package/dist/esm2015/processes/adapter/check.js +33 -32
  96. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  97. package/dist/esm2015/processes/adapter/clip.js +12 -12
  98. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  99. package/dist/esm2015/processes/adapter/fix.js +79 -77
  100. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  101. package/dist/esm2015/processes/adapter/insert.js +74 -73
  102. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  103. package/dist/esm2015/processes/adapter/pause.js +22 -22
  104. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  105. package/dist/esm2015/processes/adapter/reload.js +19 -19
  106. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  107. package/dist/esm2015/processes/adapter/remove.js +105 -102
  108. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  109. package/dist/esm2015/processes/adapter/replace.js +39 -39
  110. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  111. package/dist/esm2015/processes/adapter/reset.js +35 -35
  112. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  113. package/dist/esm2015/processes/adapter/update.js +44 -43
  114. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  115. package/dist/esm2015/processes/adjust.js +146 -141
  116. package/dist/esm2015/processes/adjust.js.map +1 -1
  117. package/dist/esm2015/processes/clip.js +49 -49
  118. package/dist/esm2015/processes/clip.js.map +1 -1
  119. package/dist/esm2015/processes/end.js +53 -52
  120. package/dist/esm2015/processes/end.js.map +1 -1
  121. package/dist/esm2015/processes/fetch.js +93 -91
  122. package/dist/esm2015/processes/fetch.js.map +1 -1
  123. package/dist/esm2015/processes/index.js +24 -24
  124. package/dist/esm2015/processes/index.js.map +1 -1
  125. package/dist/esm2015/processes/init.js +14 -14
  126. package/dist/esm2015/processes/init.js.map +1 -1
  127. package/dist/esm2015/processes/misc/base.js +29 -30
  128. package/dist/esm2015/processes/misc/base.js.map +1 -1
  129. package/dist/esm2015/processes/misc/enums.js +36 -36
  130. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  131. package/dist/esm2015/processes/misc/index.js +2 -2
  132. package/dist/esm2015/processes/misc/index.js.map +1 -1
  133. package/dist/esm2015/processes/postFetch.js +66 -65
  134. package/dist/esm2015/processes/postFetch.js.map +1 -1
  135. package/dist/esm2015/processes/preClip.js +86 -85
  136. package/dist/esm2015/processes/preClip.js.map +1 -1
  137. package/dist/esm2015/processes/preFetch.js +253 -240
  138. package/dist/esm2015/processes/preFetch.js.map +1 -1
  139. package/dist/esm2015/processes/render.js +56 -54
  140. package/dist/esm2015/processes/render.js.map +1 -1
  141. package/dist/esm2015/processes/scroll.js +106 -97
  142. package/dist/esm2015/processes/scroll.js.map +1 -1
  143. package/dist/esm2015/processes/start.js +11 -11
  144. package/dist/esm2015/processes/start.js.map +1 -1
  145. package/dist/esm2015/scroller.js +91 -86
  146. package/dist/esm2015/scroller.js.map +1 -1
  147. package/dist/esm2015/version.js +4 -4
  148. package/dist/esm2015/version.js.map +1 -1
  149. package/dist/esm2015/workflow-transducer.js +219 -218
  150. package/dist/esm2015/workflow-transducer.js.map +1 -1
  151. package/dist/esm2015/workflow.js +185 -174
  152. package/dist/esm2015/workflow.js.map +1 -1
  153. package/dist/esm5/classes/adapter/context.js +51 -50
  154. package/dist/esm5/classes/adapter/context.js.map +1 -1
  155. package/dist/esm5/classes/adapter/props.js +300 -300
  156. package/dist/esm5/classes/adapter/props.js.map +1 -1
  157. package/dist/esm5/classes/adapter/wanted.js +29 -29
  158. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  159. package/dist/esm5/classes/adapter.js +538 -535
  160. package/dist/esm5/classes/adapter.js.map +1 -1
  161. package/dist/esm5/classes/buffer/cache.js +262 -260
  162. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  163. package/dist/esm5/classes/buffer/checkCall.js +53 -56
  164. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  165. package/dist/esm5/classes/buffer/defaultSize.js +146 -145
  166. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  167. package/dist/esm5/classes/buffer.js +410 -409
  168. package/dist/esm5/classes/buffer.js.map +1 -1
  169. package/dist/esm5/classes/datasource.js +47 -31
  170. package/dist/esm5/classes/datasource.js.map +1 -1
  171. package/dist/esm5/classes/domRoutines.js +165 -165
  172. package/dist/esm5/classes/domRoutines.js.map +1 -1
  173. package/dist/esm5/classes/item.js +76 -76
  174. package/dist/esm5/classes/item.js.map +1 -1
  175. package/dist/esm5/classes/logger.js +251 -210
  176. package/dist/esm5/classes/logger.js.map +1 -1
  177. package/dist/esm5/classes/paddings.js +84 -80
  178. package/dist/esm5/classes/paddings.js.map +1 -1
  179. package/dist/esm5/classes/reactive.js +69 -69
  180. package/dist/esm5/classes/reactive.js.map +1 -1
  181. package/dist/esm5/classes/settings.js +47 -47
  182. package/dist/esm5/classes/settings.js.map +1 -1
  183. package/dist/esm5/classes/state/clip.js +22 -22
  184. package/dist/esm5/classes/state/clip.js.map +1 -1
  185. package/dist/esm5/classes/state/cycle.js +75 -75
  186. package/dist/esm5/classes/state/cycle.js.map +1 -1
  187. package/dist/esm5/classes/state/fetch.js +150 -148
  188. package/dist/esm5/classes/state/fetch.js.map +1 -1
  189. package/dist/esm5/classes/state/render.js +20 -20
  190. package/dist/esm5/classes/state/render.js.map +1 -1
  191. package/dist/esm5/classes/state/scroll.js +32 -32
  192. package/dist/esm5/classes/state/scroll.js.map +1 -1
  193. package/dist/esm5/classes/state.js +71 -69
  194. package/dist/esm5/classes/state.js.map +1 -1
  195. package/dist/esm5/classes/viewport.js +80 -79
  196. package/dist/esm5/classes/viewport.js.map +1 -1
  197. package/dist/esm5/index.js +9 -9
  198. package/dist/esm5/index.js.map +1 -1
  199. package/dist/esm5/inputs/adapter.js +263 -243
  200. package/dist/esm5/inputs/adapter.js.map +1 -1
  201. package/dist/esm5/inputs/common.js +11 -11
  202. package/dist/esm5/inputs/common.js.map +1 -1
  203. package/dist/esm5/inputs/datasource.js +21 -21
  204. package/dist/esm5/inputs/datasource.js.map +1 -1
  205. package/dist/esm5/inputs/index.js +7 -7
  206. package/dist/esm5/inputs/index.js.map +1 -1
  207. package/dist/esm5/inputs/settings.js +152 -147
  208. package/dist/esm5/inputs/settings.js.map +1 -1
  209. package/dist/esm5/inputs/validation.js +399 -396
  210. package/dist/esm5/inputs/validation.js.map +1 -1
  211. package/dist/esm5/inputs/workflow.js +31 -31
  212. package/dist/esm5/inputs/workflow.js.map +1 -1
  213. package/dist/esm5/interfaces/adapter.js +1 -1
  214. package/dist/esm5/interfaces/adapter.js.map +1 -1
  215. package/dist/esm5/interfaces/datasource.js +1 -1
  216. package/dist/esm5/interfaces/datasource.js.map +1 -1
  217. package/dist/esm5/interfaces/index.js +1 -1
  218. package/dist/esm5/interfaces/index.js.map +1 -1
  219. package/dist/esm5/interfaces/item.js +1 -1
  220. package/dist/esm5/interfaces/item.js.map +1 -1
  221. package/dist/esm5/interfaces/process.js +1 -1
  222. package/dist/esm5/interfaces/process.js.map +1 -1
  223. package/dist/esm5/interfaces/routines.js +1 -1
  224. package/dist/esm5/interfaces/routines.js.map +1 -1
  225. package/dist/esm5/interfaces/settings.js +1 -1
  226. package/dist/esm5/interfaces/settings.js.map +1 -1
  227. package/dist/esm5/interfaces/state.js +1 -1
  228. package/dist/esm5/interfaces/state.js.map +1 -1
  229. package/dist/esm5/interfaces/validation.js +1 -1
  230. package/dist/esm5/interfaces/validation.js.map +1 -1
  231. package/dist/esm5/interfaces/workflow.js +1 -1
  232. package/dist/esm5/interfaces/workflow.js.map +1 -1
  233. package/dist/esm5/processes/adapter/append.js +45 -44
  234. package/dist/esm5/processes/adapter/append.js.map +1 -1
  235. package/dist/esm5/processes/adapter/check.js +40 -39
  236. package/dist/esm5/processes/adapter/check.js.map +1 -1
  237. package/dist/esm5/processes/adapter/clip.js +19 -19
  238. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  239. package/dist/esm5/processes/adapter/fix.js +91 -89
  240. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  241. package/dist/esm5/processes/adapter/insert.js +82 -81
  242. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  243. package/dist/esm5/processes/adapter/pause.js +29 -29
  244. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  245. package/dist/esm5/processes/adapter/reload.js +26 -26
  246. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  247. package/dist/esm5/processes/adapter/remove.js +116 -115
  248. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  249. package/dist/esm5/processes/adapter/replace.js +47 -47
  250. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  251. package/dist/esm5/processes/adapter/reset.js +42 -42
  252. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  253. package/dist/esm5/processes/adapter/update.js +64 -59
  254. package/dist/esm5/processes/adapter/update.js.map +1 -1
  255. package/dist/esm5/processes/adjust.js +157 -152
  256. package/dist/esm5/processes/adjust.js.map +1 -1
  257. package/dist/esm5/processes/clip.js +60 -60
  258. package/dist/esm5/processes/clip.js.map +1 -1
  259. package/dist/esm5/processes/end.js +64 -63
  260. package/dist/esm5/processes/end.js.map +1 -1
  261. package/dist/esm5/processes/fetch.js +104 -102
  262. package/dist/esm5/processes/fetch.js.map +1 -1
  263. package/dist/esm5/processes/index.js +24 -24
  264. package/dist/esm5/processes/index.js.map +1 -1
  265. package/dist/esm5/processes/init.js +21 -21
  266. package/dist/esm5/processes/init.js.map +1 -1
  267. package/dist/esm5/processes/misc/base.js +43 -44
  268. package/dist/esm5/processes/misc/base.js.map +1 -1
  269. package/dist/esm5/processes/misc/enums.js +36 -36
  270. package/dist/esm5/processes/misc/enums.js.map +1 -1
  271. package/dist/esm5/processes/misc/index.js +2 -2
  272. package/dist/esm5/processes/misc/index.js.map +1 -1
  273. package/dist/esm5/processes/postFetch.js +73 -74
  274. package/dist/esm5/processes/postFetch.js.map +1 -1
  275. package/dist/esm5/processes/preClip.js +95 -94
  276. package/dist/esm5/processes/preClip.js.map +1 -1
  277. package/dist/esm5/processes/preFetch.js +259 -247
  278. package/dist/esm5/processes/preFetch.js.map +1 -1
  279. package/dist/esm5/processes/render.js +63 -63
  280. package/dist/esm5/processes/render.js.map +1 -1
  281. package/dist/esm5/processes/scroll.js +113 -107
  282. package/dist/esm5/processes/scroll.js.map +1 -1
  283. package/dist/esm5/processes/start.js +18 -18
  284. package/dist/esm5/processes/start.js.map +1 -1
  285. package/dist/esm5/scroller.js +104 -100
  286. package/dist/esm5/scroller.js.map +1 -1
  287. package/dist/esm5/version.js +4 -4
  288. package/dist/esm5/version.js.map +1 -1
  289. package/dist/esm5/workflow-transducer.js +221 -220
  290. package/dist/esm5/workflow-transducer.js.map +1 -1
  291. package/dist/esm5/workflow.js +204 -198
  292. package/dist/esm5/workflow.js.map +1 -1
  293. package/dist/typings/classes/adapter/context.d.ts +4 -4
  294. package/dist/typings/classes/adapter/props.d.ts +52 -52
  295. package/dist/typings/classes/adapter/wanted.d.ts +14 -14
  296. package/dist/typings/classes/adapter.d.ts +79 -79
  297. package/dist/typings/classes/buffer/cache.d.ts +94 -95
  298. package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
  299. package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
  300. package/dist/typings/classes/buffer.d.ts +64 -64
  301. package/dist/typings/classes/datasource.d.ts +11 -11
  302. package/dist/typings/classes/domRoutines.d.ts +36 -36
  303. package/dist/typings/classes/item.d.ts +28 -28
  304. package/dist/typings/classes/logger.d.ts +32 -28
  305. package/dist/typings/classes/paddings.d.ts +22 -22
  306. package/dist/typings/classes/reactive.d.ts +21 -21
  307. package/dist/typings/classes/settings.d.ts +126 -119
  308. package/dist/typings/classes/state/clip.d.ts +9 -9
  309. package/dist/typings/classes/state/cycle.d.ts +29 -29
  310. package/dist/typings/classes/state/fetch.d.ts +62 -62
  311. package/dist/typings/classes/state/render.d.ts +9 -9
  312. package/dist/typings/classes/state/scroll.d.ts +16 -16
  313. package/dist/typings/classes/state.d.ts +29 -29
  314. package/dist/typings/classes/viewport.d.ts +32 -32
  315. package/dist/typings/index.d.ts +10 -10
  316. package/dist/typings/inputs/adapter.d.ts +5 -5
  317. package/dist/typings/inputs/common.d.ts +9 -9
  318. package/dist/typings/inputs/datasource.d.ts +7 -7
  319. package/dist/typings/inputs/index.d.ts +7 -7
  320. package/dist/typings/inputs/settings.d.ts +42 -41
  321. package/dist/typings/inputs/validation.d.ts +82 -83
  322. package/dist/typings/inputs/workflow.d.ts +9 -9
  323. package/dist/typings/interfaces/adapter.d.ts +164 -164
  324. package/dist/typings/interfaces/datasource.d.ts +28 -28
  325. package/dist/typings/interfaces/index.d.ts +10 -10
  326. package/dist/typings/interfaces/item.d.ts +8 -8
  327. package/dist/typings/interfaces/process.d.ts +35 -35
  328. package/dist/typings/interfaces/routines.d.ts +166 -166
  329. package/dist/typings/interfaces/settings.d.ts +32 -31
  330. package/dist/typings/interfaces/state.d.ts +24 -24
  331. package/dist/typings/interfaces/validation.d.ts +33 -33
  332. package/dist/typings/interfaces/workflow.d.ts +53 -53
  333. package/dist/typings/processes/adapter/append.d.ts +14 -14
  334. package/dist/typings/processes/adapter/check.d.ts +6 -6
  335. package/dist/typings/processes/adapter/clip.d.ts +7 -7
  336. package/dist/typings/processes/adapter/fix.d.ts +13 -13
  337. package/dist/typings/processes/adapter/insert.d.ts +11 -11
  338. package/dist/typings/processes/adapter/pause.d.ts +8 -8
  339. package/dist/typings/processes/adapter/reload.d.ts +6 -6
  340. package/dist/typings/processes/adapter/remove.d.ts +11 -11
  341. package/dist/typings/processes/adapter/replace.d.ts +8 -8
  342. package/dist/typings/processes/adapter/reset.d.ts +7 -7
  343. package/dist/typings/processes/adapter/update.d.ts +8 -8
  344. package/dist/typings/processes/adjust.d.ts +10 -10
  345. package/dist/typings/processes/clip.d.ts +7 -7
  346. package/dist/typings/processes/end.d.ts +10 -10
  347. package/dist/typings/processes/fetch.d.ts +18 -18
  348. package/dist/typings/processes/index.d.ts +24 -24
  349. package/dist/typings/processes/init.d.ts +7 -7
  350. package/dist/typings/processes/misc/base.d.ts +4 -4
  351. package/dist/typings/processes/misc/enums.d.ts +33 -33
  352. package/dist/typings/processes/misc/index.d.ts +2 -2
  353. package/dist/typings/processes/postFetch.d.ts +8 -8
  354. package/dist/typings/processes/preClip.d.ts +12 -12
  355. package/dist/typings/processes/preFetch.d.ts +17 -17
  356. package/dist/typings/processes/render.d.ts +9 -9
  357. package/dist/typings/processes/scroll.d.ts +13 -13
  358. package/dist/typings/processes/start.d.ts +6 -6
  359. package/dist/typings/scroller.d.ts +26 -26
  360. package/dist/typings/version.d.ts +5 -5
  361. package/dist/typings/workflow-transducer.d.ts +2 -2
  362. package/dist/typings/workflow.d.ts +30 -29
  363. package/package.json +72 -69
@@ -1,61 +1,61 @@
1
- import { Reactive } from '../reactive';
2
- class InnerLoopModel {
3
- get first() {
4
- return this.count === 0;
5
- }
6
- constructor(total) {
7
- this.total = total;
8
- this.isInitial = false;
9
- this.busy = new Reactive(false);
10
- }
11
- done() {
12
- this.isInitial = false;
13
- this.count++;
14
- this.total++;
15
- this.busy.set(false);
16
- }
17
- start() {
18
- this.busy.set(true);
19
- }
20
- dispose() {
21
- this.busy.dispose();
22
- }
23
- }
24
- export class WorkflowCycleModel {
25
- get loopId() {
26
- return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;
27
- }
28
- get loopIdNext() {
29
- return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;
30
- }
31
- constructor(instanceIndex, cycle) {
32
- const cycleCount = cycle ? cycle.count : 1;
33
- const loopCount = cycle ? cycle.innerLoop.count : 0;
34
- this.instanceIndex = instanceIndex;
35
- this.innerLoop = new InnerLoopModel(loopCount);
36
- this.interrupter = null;
37
- this.busy = new Reactive(false);
38
- this.end(cycleCount);
39
- }
40
- start(isInitial, initiator) {
41
- this.isInitial = isInitial;
42
- this.initiator = initiator;
43
- this.innerLoop.isInitial = isInitial;
44
- this.innerLoop.count = 0;
45
- this.interrupter = null;
46
- this.busy.set(true);
47
- }
48
- end(count) {
49
- this.count = count;
50
- this.isInitial = false;
51
- this.busy.set(false);
52
- }
53
- dispose(forever) {
54
- if (forever) {
55
- // otherwise the value will be persisted during re-instantiation
56
- this.busy.dispose();
57
- }
58
- this.innerLoop.dispose();
59
- }
60
- }
1
+ import { Reactive } from '../reactive';
2
+ class InnerLoopModel {
3
+ get first() {
4
+ return this.count === 0;
5
+ }
6
+ constructor(total) {
7
+ this.total = total;
8
+ this.isInitial = false;
9
+ this.busy = new Reactive(false);
10
+ }
11
+ done() {
12
+ this.isInitial = false;
13
+ this.count++;
14
+ this.total++;
15
+ this.busy.set(false);
16
+ }
17
+ start() {
18
+ this.busy.set(true);
19
+ }
20
+ dispose() {
21
+ this.busy.dispose();
22
+ }
23
+ }
24
+ export class WorkflowCycleModel {
25
+ get loopId() {
26
+ return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;
27
+ }
28
+ get loopIdNext() {
29
+ return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;
30
+ }
31
+ constructor(instanceIndex, cycle) {
32
+ const cycleCount = cycle ? cycle.count : 1;
33
+ const loopCount = cycle ? cycle.innerLoop.count : 0;
34
+ this.instanceIndex = instanceIndex;
35
+ this.innerLoop = new InnerLoopModel(loopCount);
36
+ this.interrupter = null;
37
+ this.busy = new Reactive(false);
38
+ this.end(cycleCount);
39
+ }
40
+ start(isInitial, initiator) {
41
+ this.isInitial = isInitial;
42
+ this.initiator = initiator;
43
+ this.innerLoop.isInitial = isInitial;
44
+ this.innerLoop.count = 0;
45
+ this.interrupter = null;
46
+ this.busy.set(true);
47
+ }
48
+ end(count) {
49
+ this.count = count;
50
+ this.isInitial = false;
51
+ this.busy.set(false);
52
+ }
53
+ dispose(forever) {
54
+ if (forever) {
55
+ // otherwise the value will be persisted during re-instantiation
56
+ this.busy.dispose();
57
+ }
58
+ this.innerLoop.dispose();
59
+ }
60
+ }
61
61
  //# 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,MAAM,cAAc;IAMlB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,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;IAED,IAAI;QACF,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,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAS7B,IAAI,MAAM;QACR,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,YAAY,aAAqB,EAAE,KAA0B;QAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,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;IAED,KAAK,CAAC,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,GAAG,CAAC,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,OAAO,CAAC,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;CACF","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,MAAM,cAAc;IAMlB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY,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;IAED,IAAI;QACF,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,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,kBAAkB;IAS7B,IAAI,MAAM;QACR,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACvE,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;IAC3E,CAAC;IAED,YAAY,aAAqB,EAAE,KAA0B;QAC3D,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,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;IAED,KAAK,CAAC,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,GAAG,CAAC,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,OAAO,CAAC,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;CACF","sourcesContent":["import { ProcessName } from '../../interfaces/index';\nimport { Reactive } from '../reactive';\n\nclass InnerLoopModel {\n total: number;\n count: number;\n isInitial: boolean;\n busy: Reactive<boolean>;\n\n get first(): boolean {\n return this.count === 0;\n }\n\n constructor(total: number) {\n this.total = total;\n this.isInitial = false;\n this.busy = new Reactive<boolean>(false);\n }\n\n done() {\n this.isInitial = false;\n this.count++;\n this.total++;\n this.busy.set(false);\n }\n\n start() {\n this.busy.set(true);\n }\n\n dispose() {\n this.busy.dispose();\n }\n}\n\nexport class WorkflowCycleModel {\n instanceIndex: number;\n count: number;\n isInitial: boolean;\n initiator: ProcessName;\n innerLoop: InnerLoopModel;\n interrupter: ProcessName | null;\n busy: Reactive<boolean>;\n\n get loopId(): string {\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total}`;\n }\n\n get loopIdNext(): string {\n return `${this.instanceIndex}-${this.count}-${this.innerLoop.total + 1}`;\n }\n\n constructor(instanceIndex: number, cycle?: WorkflowCycleModel) {\n const cycleCount = cycle ? cycle.count : 1;\n const loopCount = cycle ? cycle.innerLoop.count : 0;\n\n this.instanceIndex = instanceIndex;\n this.innerLoop = new InnerLoopModel(loopCount);\n this.interrupter = null;\n this.busy = new Reactive<boolean>(false);\n this.end(cycleCount);\n }\n\n start(isInitial: boolean, initiator: ProcessName): void {\n this.isInitial = isInitial;\n this.initiator = initiator;\n this.innerLoop.isInitial = isInitial;\n this.innerLoop.count = 0;\n this.interrupter = null;\n this.busy.set(true);\n }\n\n end(count: number): void {\n this.count = count;\n this.isInitial = false;\n this.busy.set(false);\n }\n\n dispose(forever?: boolean): void {\n if (forever) {\n // otherwise the value will be persisted during re-instantiation\n this.busy.dispose();\n }\n this.innerLoop.dispose();\n }\n}\n"]}
@@ -1,123 +1,125 @@
1
- import { Direction } from '../../inputs/index';
2
- class Positions {
3
- constructor() {
4
- this.reset();
5
- }
6
- reset() {
7
- this.startDelta = 0;
8
- this.before = 0;
9
- }
10
- }
11
- class First {
12
- constructor() {
13
- this.reset();
14
- }
15
- reset() {
16
- this.index = NaN;
17
- this.indexBuffer = NaN;
18
- this.position = NaN;
19
- }
20
- }
21
- class Last {
22
- constructor() {
23
- this.reset();
24
- }
25
- reset() {
26
- this.index = NaN;
27
- this.indexBuffer = NaN;
28
- }
29
- }
30
- class FirstVisible {
31
- constructor() {
32
- this.reset();
33
- }
34
- reset() {
35
- this.index = NaN;
36
- this.delta = 0;
37
- }
38
- }
39
- export class FetchModel {
40
- constructor(directionPriority) {
41
- this.directionPriority = directionPriority;
42
- this.callCount = 0;
43
- this.positions = new Positions();
44
- this.first = new First();
45
- this.last = new Last();
46
- this.firstVisible = new FirstVisible();
47
- this.reset();
48
- }
49
- reset() {
50
- this._newItemsData = null;
51
- this.items = [];
52
- this.positions.reset();
53
- this.first.reset();
54
- this.last.reset();
55
- this.firstVisible.reset();
56
- this.hasAnotherPack = false;
57
- this.direction = null;
58
- this.cancel = null;
59
- this.simulate = false;
60
- this.isCheck = false;
61
- this.doRemove = false;
62
- }
63
- get newItemsData() {
64
- return this._newItemsData;
65
- }
66
- set newItemsData(items) {
67
- this._newItemsData = items;
68
- if (items && items.length) {
69
- this.callCount++;
70
- }
71
- }
72
- get shouldFetch() {
73
- return !!this.count;
74
- }
75
- get hasNewItems() {
76
- return !!((this._newItemsData && this._newItemsData.length));
77
- }
78
- get index() {
79
- return this.first.index;
80
- }
81
- get count() {
82
- return !isNaN(this.first.index) && !isNaN(this.last.index) ? this.last.index - this.first.index + 1 : 0;
83
- }
84
- shouldCheckPreSizeExpectation(lastBufferedIndex) {
85
- if (this.directionPriority === Direction.backward) {
86
- return false;
87
- }
88
- const lastFetched = this.items[this.items.length - 1];
89
- return lastFetched && lastFetched.$index < lastBufferedIndex;
90
- }
91
- startSimulate(items) {
92
- this.simulate = true;
93
- this._newItemsData = items.map(item => item.data);
94
- this.items = items;
95
- this.hasAnotherPack = false;
96
- }
97
- stopSimulate() {
98
- this.simulate = false;
99
- this.isCheck = false;
100
- this.doRemove = false;
101
- }
102
- fill(items, start) {
103
- this.startSimulate(items);
104
- this.first.index = items[0].$index;
105
- this.last.index = items[items.length - 1].$index;
106
- this.direction = Direction.forward;
107
- this.firstVisible.index = start;
108
- this.firstVisible.delta = 0;
109
- }
110
- check(items) {
111
- this.startSimulate(items);
112
- this.last.index = items[0].$index;
113
- this.first.index = items[items.length - 1].$index;
114
- this.isCheck = true;
115
- }
116
- update(index, delta, items, itemsToRemove) {
117
- this.startSimulate(items);
118
- this.firstVisible.index = index;
119
- this.firstVisible.delta = delta;
120
- this.doRemove = itemsToRemove.length > 0;
121
- }
122
- }
1
+ import { Direction } from '../../inputs/index';
2
+ class Positions {
3
+ constructor() {
4
+ this.reset();
5
+ }
6
+ reset() {
7
+ this.startDelta = 0;
8
+ this.before = 0;
9
+ }
10
+ }
11
+ class First {
12
+ constructor() {
13
+ this.reset();
14
+ }
15
+ reset() {
16
+ this.index = NaN;
17
+ this.indexBuffer = NaN;
18
+ this.position = NaN;
19
+ }
20
+ }
21
+ class Last {
22
+ constructor() {
23
+ this.reset();
24
+ }
25
+ reset() {
26
+ this.index = NaN;
27
+ this.indexBuffer = NaN;
28
+ }
29
+ }
30
+ class FirstVisible {
31
+ constructor() {
32
+ this.reset();
33
+ }
34
+ reset() {
35
+ this.index = NaN;
36
+ this.delta = 0;
37
+ }
38
+ }
39
+ export class FetchModel {
40
+ constructor(directionPriority) {
41
+ this.directionPriority = directionPriority;
42
+ this.callCount = 0;
43
+ this.positions = new Positions();
44
+ this.first = new First();
45
+ this.last = new Last();
46
+ this.firstVisible = new FirstVisible();
47
+ this.reset();
48
+ }
49
+ reset() {
50
+ this._newItemsData = null;
51
+ this.items = [];
52
+ this.positions.reset();
53
+ this.first.reset();
54
+ this.last.reset();
55
+ this.firstVisible.reset();
56
+ this.hasAnotherPack = false;
57
+ this.direction = null;
58
+ this.cancel = null;
59
+ this.simulate = false;
60
+ this.isCheck = false;
61
+ this.doRemove = false;
62
+ }
63
+ get newItemsData() {
64
+ return this._newItemsData;
65
+ }
66
+ set newItemsData(items) {
67
+ this._newItemsData = items;
68
+ if (items && items.length) {
69
+ this.callCount++;
70
+ }
71
+ }
72
+ get shouldFetch() {
73
+ return !!this.count;
74
+ }
75
+ get hasNewItems() {
76
+ return !!(this._newItemsData && this._newItemsData.length);
77
+ }
78
+ get index() {
79
+ return this.first.index;
80
+ }
81
+ get count() {
82
+ return !isNaN(this.first.index) && !isNaN(this.last.index)
83
+ ? this.last.index - this.first.index + 1
84
+ : 0;
85
+ }
86
+ shouldCheckPreSizeExpectation(lastBufferedIndex) {
87
+ if (this.directionPriority === Direction.backward) {
88
+ return false;
89
+ }
90
+ const lastFetched = this.items[this.items.length - 1];
91
+ return lastFetched && lastFetched.$index < lastBufferedIndex;
92
+ }
93
+ startSimulate(items) {
94
+ this.simulate = true;
95
+ this._newItemsData = items.map(item => item.data);
96
+ this.items = items;
97
+ this.hasAnotherPack = false;
98
+ }
99
+ stopSimulate() {
100
+ this.simulate = false;
101
+ this.isCheck = false;
102
+ this.doRemove = false;
103
+ }
104
+ fill(items, start) {
105
+ this.startSimulate(items);
106
+ this.first.index = items[0].$index;
107
+ this.last.index = items[items.length - 1].$index;
108
+ this.direction = Direction.forward;
109
+ this.firstVisible.index = start;
110
+ this.firstVisible.delta = 0;
111
+ }
112
+ check(items) {
113
+ this.startSimulate(items);
114
+ this.last.index = items[0].$index;
115
+ this.first.index = items[items.length - 1].$index;
116
+ this.isCheck = true;
117
+ }
118
+ update(index, delta, items, itemsToRemove) {
119
+ this.startSimulate(items);
120
+ this.firstVisible.index = index;
121
+ this.firstVisible.delta = delta;
122
+ this.doRemove = itemsToRemove.length > 0;
123
+ }
124
+ }
123
125
  //# 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":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,MAAM,SAAS;IAOb;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAClB,CAAC;CACF;AAED,MAAM,KAAK;IAKT;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;IACtB,CAAC;CACF;AAED,MAAM,IAAI;IAIR;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;IACzB,CAAC;CACF;AAED,MAAM,YAAY;IAIhB;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACjB,CAAC;CACF;AAED,MAAM,OAAO,UAAU;IAmBrB,YAAY,iBAA4B;QACtC,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,IAAI,YAAY,CAAC,KAAuB;QACtC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK;QACP,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACxD,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,6BAA6B,CAAC,iBAAyB;QACrD,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,CAAC,QAAQ,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtD,OAAO,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,iBAAiB,CAAC;IAC/D,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,IAAI,CAAC,KAAa,EAAE,KAAa;QAC/B,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;QAClD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,KAAa,EAAE,KAAa,EAAE,KAAa,EAAE,aAAqB;QACvE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC3C,CAAC;CACF","sourcesContent":["import { Item } from '../item';\nimport { Direction } from '../../inputs/index';\n\nclass Positions {\n startDelta: number;\n before: number;\n relative: number;\n start: number;\n end: number;\n\n constructor() {\n this.reset();\n }\n\n reset() {\n this.startDelta = 0;\n this.before = 0;\n }\n}\n\nclass First {\n index: number;\n indexBuffer: number;\n position: number;\n\n constructor() {\n this.reset();\n }\n\n reset() {\n this.index = NaN;\n this.indexBuffer = NaN;\n this.position = NaN;\n }\n}\n\nclass Last {\n index: number;\n indexBuffer: number;\n\n constructor() {\n this.reset();\n }\n\n reset() {\n this.index = NaN;\n this.indexBuffer = NaN;\n }\n}\n\nclass FirstVisible {\n index: number;\n delta: number;\n\n constructor() {\n this.reset();\n }\n\n reset() {\n this.index = NaN;\n this.delta = 0;\n }\n}\n\nexport class FetchModel {\n private readonly directionPriority: Direction;\n private _newItemsData: unknown[] | null; // there are public setter and getter\n\n items: Item[];\n positions: Positions;\n first: First;\n last: Last;\n hasAnotherPack: boolean;\n callCount: number;\n minIndex: number;\n firstVisible: FirstVisible;\n direction: Direction | null;\n cancel: (() => void) | null;\n\n simulate: boolean;\n isCheck: boolean;\n doRemove: boolean;\n\n constructor(directionPriority: Direction) {\n this.directionPriority = directionPriority;\n this.callCount = 0;\n this.positions = new Positions();\n this.first = new First();\n this.last = new Last();\n this.firstVisible = new FirstVisible();\n this.reset();\n }\n\n reset(): void {\n this._newItemsData = null;\n this.items = [];\n this.positions.reset();\n this.first.reset();\n this.last.reset();\n this.firstVisible.reset();\n this.hasAnotherPack = false;\n this.direction = null;\n this.cancel = null;\n this.simulate = false;\n this.isCheck = false;\n this.doRemove = false;\n }\n\n get newItemsData(): unknown[] | null {\n return this._newItemsData;\n }\n\n set newItemsData(items: unknown[] | null) {\n this._newItemsData = items;\n if (items && items.length) {\n this.callCount++;\n }\n }\n\n get shouldFetch(): boolean {\n return !!this.count;\n }\n\n get hasNewItems(): boolean {\n return !!(this._newItemsData && this._newItemsData.length);\n }\n\n get index(): number {\n return this.first.index;\n }\n\n get count(): number {\n return !isNaN(this.first.index) && !isNaN(this.last.index)\n ? this.last.index - this.first.index + 1\n : 0;\n }\n\n shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean {\n if (this.directionPriority === Direction.backward) {\n return false;\n }\n const lastFetched = this.items[this.items.length - 1];\n return lastFetched && lastFetched.$index < lastBufferedIndex;\n }\n\n startSimulate(items: Item[]): void {\n this.simulate = true;\n this._newItemsData = items.map(item => item.data);\n this.items = items;\n this.hasAnotherPack = false;\n }\n\n stopSimulate(): void {\n this.simulate = false;\n this.isCheck = false;\n this.doRemove = false;\n }\n\n fill(items: Item[], start: number): void {\n this.startSimulate(items);\n this.first.index = items[0].$index;\n this.last.index = items[items.length - 1].$index;\n this.direction = Direction.forward;\n this.firstVisible.index = start;\n this.firstVisible.delta = 0;\n }\n\n check(items: Item[]): void {\n this.startSimulate(items);\n this.last.index = items[0].$index;\n this.first.index = items[items.length - 1].$index;\n this.isCheck = true;\n }\n\n update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void {\n this.startSimulate(items);\n this.firstVisible.index = index;\n this.firstVisible.delta = delta;\n this.doRemove = itemsToRemove.length > 0;\n }\n}\n"]}
@@ -1,15 +1,15 @@
1
- export class RenderModel {
2
- get noSize() {
3
- return this.sizeBefore === this.sizeAfter;
4
- }
5
- constructor() {
6
- this.reset();
7
- }
8
- reset() {
9
- this.sizeBefore = 0;
10
- this.sizeAfter = 0;
11
- this.positionBefore = 0;
12
- this.cancel = null;
13
- }
14
- }
1
+ export class RenderModel {
2
+ get noSize() {
3
+ return this.sizeBefore === this.sizeAfter;
4
+ }
5
+ constructor() {
6
+ this.reset();
7
+ }
8
+ reset() {
9
+ this.sizeBefore = 0;
10
+ this.sizeAfter = 0;
11
+ this.positionBefore = 0;
12
+ this.cancel = null;
13
+ }
14
+ }
15
15
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/classes/state/render.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAMtB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF","sourcesContent":["export class RenderModel {\r\n sizeBefore: number;\r\n sizeAfter: number;\r\n positionBefore: number;\r\n cancel: (() => void) | null;\r\n\r\n get noSize(): boolean {\r\n return this.sizeBefore === this.sizeAfter;\r\n }\r\n\r\n constructor() {\r\n this.reset();\r\n }\r\n\r\n reset(): void {\r\n this.sizeBefore = 0;\r\n this.sizeAfter = 0;\r\n this.positionBefore = 0;\r\n this.cancel = null;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../../src/classes/state/render.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IAMtB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;CACF","sourcesContent":["export class RenderModel {\n sizeBefore: number;\n sizeAfter: number;\n positionBefore: number;\n cancel: (() => void) | null;\n\n get noSize(): boolean {\n return this.sizeBefore === this.sizeAfter;\n }\n\n constructor() {\n this.reset();\n }\n\n reset(): void {\n this.sizeBefore = 0;\n this.sizeAfter = 0;\n this.positionBefore = 0;\n this.cancel = null;\n }\n}\n"]}
@@ -1,31 +1,31 @@
1
- export class ScrollModel {
2
- constructor() {
3
- this.reset();
4
- }
5
- reset() {
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
- stop() {
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
- hasPositionChanged(position) {
26
- const before = this.positionBeforeAdjust;
27
- const after = this.positionAfterAdjust;
28
- return before === null || before !== position || after === null || after !== position;
29
- }
30
- }
1
+ export class ScrollModel {
2
+ constructor() {
3
+ this.reset();
4
+ }
5
+ reset() {
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
+ stop() {
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
+ hasPositionChanged(position) {
26
+ const before = this.positionBeforeAdjust;
27
+ const after = this.positionAfterAdjust;
28
+ return before === null || before !== position || after === null || after !== position;
29
+ }
30
+ }
31
31
  //# sourceMappingURL=scroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../../src/classes/state/scroll.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,WAAW;IAatB;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,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,IAAI;QACF,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,kBAAkB,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,MAAM,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;CACF","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,MAAM,OAAO,WAAW;IAatB;QACE,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;QACH,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,IAAI;QACF,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,kBAAkB,CAAC,QAAgB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACzC,MAAM,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;CACF","sourcesContent":["import { ScrollEventData as IScrollEventData } from '../../interfaces/index';\n\nexport class ScrollModel {\n previous: IScrollEventData | null;\n current: IScrollEventData | null;\n\n scrollTimer: ReturnType<typeof setTimeout> | null;\n\n syntheticPosition: number | null;\n syntheticFulfill: boolean;\n cancelAnimation: (() => void) | null;\n positionBeforeAsync: number | null;\n positionBeforeAdjust: number | null;\n positionAfterAdjust: number | null;\n\n constructor() {\n this.reset();\n }\n\n reset(): void {\n this.previous = null;\n this.current = null;\n this.syntheticPosition = null;\n this.syntheticFulfill = false;\n this.positionBeforeAsync = null;\n this.positionBeforeAdjust = null;\n this.positionAfterAdjust = null;\n this.stop();\n }\n\n stop(): void {\n if (this.scrollTimer) {\n clearTimeout(this.scrollTimer);\n this.scrollTimer = null;\n }\n if (this.cancelAnimation) {\n this.cancelAnimation();\n this.cancelAnimation = null;\n }\n }\n\n hasPositionChanged(position: number): boolean {\n const before = this.positionBeforeAdjust;\n const after = this.positionAfterAdjust;\n return before === null || before !== position || after === null || after !== position;\n }\n}\n"]}