vscroll 1.5.3 → 1.5.5

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 (335) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +283 -273
  3. package/dist/bundles/vscroll.esm5.js +5558 -5525
  4. package/dist/bundles/vscroll.esm5.js.map +1 -1
  5. package/dist/bundles/vscroll.esm5.min.js +2 -2
  6. package/dist/bundles/vscroll.esm5.min.js.map +1 -1
  7. package/dist/bundles/vscroll.esm6.js +5045 -5015
  8. package/dist/bundles/vscroll.esm6.js.map +1 -1
  9. package/dist/bundles/vscroll.esm6.min.js +2 -2
  10. package/dist/bundles/vscroll.esm6.min.js.map +1 -1
  11. package/dist/bundles/vscroll.umd.js +5559 -5526
  12. package/dist/bundles/vscroll.umd.js.map +1 -1
  13. package/dist/bundles/vscroll.umd.min.js +2 -2
  14. package/dist/bundles/vscroll.umd.min.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/context.js +43 -43
  16. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  17. package/dist/esm2015/classes/adapter/props.js +268 -268
  18. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  19. package/dist/esm2015/classes/adapter/wanted.js +28 -28
  20. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  21. package/dist/esm2015/classes/adapter.js +455 -442
  22. package/dist/esm2015/classes/adapter.js.map +1 -1
  23. package/dist/esm2015/classes/buffer/cache.js +246 -246
  24. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  25. package/dist/esm2015/classes/buffer/checkCall.js +48 -48
  26. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  27. package/dist/esm2015/classes/buffer/defaultSize.js +127 -127
  28. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  29. package/dist/esm2015/classes/buffer.js +342 -342
  30. package/dist/esm2015/classes/buffer.js.map +1 -1
  31. package/dist/esm2015/classes/datasource.js +28 -28
  32. package/dist/esm2015/classes/domRoutines.js +166 -166
  33. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  34. package/dist/esm2015/classes/item.js +61 -61
  35. package/dist/esm2015/classes/item.js.map +1 -1
  36. package/dist/esm2015/classes/logger.js +186 -186
  37. package/dist/esm2015/classes/logger.js.map +1 -1
  38. package/dist/esm2015/classes/paddings.js +72 -72
  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 +122 -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 +59 -59
  54. package/dist/esm2015/classes/viewport.js +72 -72
  55. package/dist/esm2015/classes/viewport.js.map +1 -1
  56. package/dist/esm2015/index.js +8 -8
  57. package/dist/esm2015/index.js.map +1 -1
  58. package/dist/esm2015/inputs/adapter.js +230 -230
  59. package/dist/esm2015/inputs/adapter.js.map +1 -1
  60. package/dist/esm2015/inputs/common.js +11 -11
  61. package/dist/esm2015/inputs/common.js.map +1 -1
  62. package/dist/esm2015/inputs/datasource.js +20 -20
  63. package/dist/esm2015/inputs/datasource.js.map +1 -1
  64. package/dist/esm2015/inputs/index.js +6 -6
  65. package/dist/esm2015/inputs/index.js.map +1 -1
  66. package/dist/esm2015/inputs/settings.js +146 -146
  67. package/dist/esm2015/inputs/settings.js.map +1 -1
  68. package/dist/esm2015/inputs/validation.js +374 -374
  69. package/dist/esm2015/inputs/validation.js.map +1 -1
  70. package/dist/esm2015/interfaces/adapter.js +1 -1
  71. package/dist/esm2015/interfaces/datasource.js +1 -1
  72. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  73. package/dist/esm2015/interfaces/index.js +1 -1
  74. package/dist/esm2015/interfaces/index.js.map +1 -1
  75. package/dist/esm2015/interfaces/item.js +1 -1
  76. package/dist/esm2015/interfaces/item.js.map +1 -1
  77. package/dist/esm2015/interfaces/process.js +1 -1
  78. package/dist/esm2015/interfaces/routines.js +1 -1
  79. package/dist/esm2015/interfaces/routines.js.map +1 -1
  80. package/dist/esm2015/interfaces/settings.js +1 -1
  81. package/dist/esm2015/interfaces/state.js +1 -1
  82. package/dist/esm2015/interfaces/validation.js +1 -1
  83. package/dist/esm2015/interfaces/validation.js.map +1 -1
  84. package/dist/esm2015/interfaces/workflow.js +1 -1
  85. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  86. package/dist/esm2015/processes/adapter/append.js +35 -35
  87. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  88. package/dist/esm2015/processes/adapter/check.js +32 -32
  89. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  90. package/dist/esm2015/processes/adapter/clip.js +12 -12
  91. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  92. package/dist/esm2015/processes/adapter/fix.js +77 -77
  93. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  94. package/dist/esm2015/processes/adapter/insert.js +73 -73
  95. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  96. package/dist/esm2015/processes/adapter/reload.js +19 -20
  97. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  98. package/dist/esm2015/processes/adapter/remove.js +102 -102
  99. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  100. package/dist/esm2015/processes/adapter/replace.js +39 -39
  101. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  102. package/dist/esm2015/processes/adapter/reset.js +35 -35
  103. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  104. package/dist/esm2015/processes/adapter/update.js +43 -43
  105. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  106. package/dist/esm2015/processes/adjust.js +141 -141
  107. package/dist/esm2015/processes/clip.js +49 -49
  108. package/dist/esm2015/processes/end.js +52 -52
  109. package/dist/esm2015/processes/end.js.map +1 -1
  110. package/dist/esm2015/processes/fetch.js +91 -90
  111. package/dist/esm2015/processes/fetch.js.map +1 -1
  112. package/dist/esm2015/processes/index.js +23 -23
  113. package/dist/esm2015/processes/init.js +14 -14
  114. package/dist/esm2015/processes/init.js.map +1 -1
  115. package/dist/esm2015/processes/misc/base.js +30 -30
  116. package/dist/esm2015/processes/misc/base.js.map +1 -1
  117. package/dist/esm2015/processes/misc/enums.js +35 -35
  118. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  119. package/dist/esm2015/processes/misc/index.js +2 -2
  120. package/dist/esm2015/processes/misc/index.js.map +1 -1
  121. package/dist/esm2015/processes/postFetch.js +64 -64
  122. package/dist/esm2015/processes/postFetch.js.map +1 -1
  123. package/dist/esm2015/processes/preClip.js +85 -85
  124. package/dist/esm2015/processes/preClip.js.map +1 -1
  125. package/dist/esm2015/processes/preFetch.js +240 -240
  126. package/dist/esm2015/processes/preFetch.js.map +1 -1
  127. package/dist/esm2015/processes/render.js +54 -54
  128. package/dist/esm2015/processes/render.js.map +1 -1
  129. package/dist/esm2015/processes/scroll.js +97 -97
  130. package/dist/esm2015/processes/scroll.js.map +1 -1
  131. package/dist/esm2015/processes/start.js +11 -11
  132. package/dist/esm2015/processes/start.js.map +1 -1
  133. package/dist/esm2015/scroller.js +76 -69
  134. package/dist/esm2015/scroller.js.map +1 -1
  135. package/dist/esm2015/version.js +4 -4
  136. package/dist/esm2015/version.js.map +1 -1
  137. package/dist/esm2015/workflow-transducer.js +210 -210
  138. package/dist/esm2015/workflow-transducer.js.map +1 -1
  139. package/dist/esm2015/workflow.js +161 -151
  140. package/dist/esm2015/workflow.js.map +1 -1
  141. package/dist/esm5/classes/adapter/context.js +50 -50
  142. package/dist/esm5/classes/adapter/context.js.map +1 -1
  143. package/dist/esm5/classes/adapter/props.js +268 -268
  144. package/dist/esm5/classes/adapter/props.js.map +1 -1
  145. package/dist/esm5/classes/adapter/wanted.js +29 -29
  146. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  147. package/dist/esm5/classes/adapter.js +504 -490
  148. package/dist/esm5/classes/adapter.js.map +1 -1
  149. package/dist/esm5/classes/buffer/cache.js +260 -260
  150. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  151. package/dist/esm5/classes/buffer/checkCall.js +56 -56
  152. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  153. package/dist/esm5/classes/buffer/defaultSize.js +145 -145
  154. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  155. package/dist/esm5/classes/buffer.js +409 -409
  156. package/dist/esm5/classes/buffer.js.map +1 -1
  157. package/dist/esm5/classes/datasource.js +37 -37
  158. package/dist/esm5/classes/domRoutines.js +182 -182
  159. package/dist/esm5/classes/domRoutines.js.map +1 -1
  160. package/dist/esm5/classes/item.js +76 -76
  161. package/dist/esm5/classes/item.js.map +1 -1
  162. package/dist/esm5/classes/logger.js +210 -210
  163. package/dist/esm5/classes/logger.js.map +1 -1
  164. package/dist/esm5/classes/paddings.js +80 -80
  165. package/dist/esm5/classes/reactive.js +69 -69
  166. package/dist/esm5/classes/reactive.js.map +1 -1
  167. package/dist/esm5/classes/settings.js +47 -47
  168. package/dist/esm5/classes/settings.js.map +1 -1
  169. package/dist/esm5/classes/state/clip.js +22 -22
  170. package/dist/esm5/classes/state/clip.js.map +1 -1
  171. package/dist/esm5/classes/state/cycle.js +75 -75
  172. package/dist/esm5/classes/state/cycle.js.map +1 -1
  173. package/dist/esm5/classes/state/fetch.js +148 -148
  174. package/dist/esm5/classes/state/fetch.js.map +1 -1
  175. package/dist/esm5/classes/state/render.js +20 -20
  176. package/dist/esm5/classes/state/render.js.map +1 -1
  177. package/dist/esm5/classes/state/scroll.js +32 -32
  178. package/dist/esm5/classes/state/scroll.js.map +1 -1
  179. package/dist/esm5/classes/state.js +66 -66
  180. package/dist/esm5/classes/viewport.js +79 -79
  181. package/dist/esm5/classes/viewport.js.map +1 -1
  182. package/dist/esm5/index.js +8 -8
  183. package/dist/esm5/index.js.map +1 -1
  184. package/dist/esm5/inputs/adapter.js +231 -231
  185. package/dist/esm5/inputs/adapter.js.map +1 -1
  186. package/dist/esm5/inputs/common.js +11 -11
  187. package/dist/esm5/inputs/common.js.map +1 -1
  188. package/dist/esm5/inputs/datasource.js +21 -21
  189. package/dist/esm5/inputs/datasource.js.map +1 -1
  190. package/dist/esm5/inputs/index.js +6 -6
  191. package/dist/esm5/inputs/index.js.map +1 -1
  192. package/dist/esm5/inputs/settings.js +147 -147
  193. package/dist/esm5/inputs/settings.js.map +1 -1
  194. package/dist/esm5/inputs/validation.js +396 -396
  195. package/dist/esm5/inputs/validation.js.map +1 -1
  196. package/dist/esm5/interfaces/adapter.js +1 -1
  197. package/dist/esm5/interfaces/datasource.js +1 -1
  198. package/dist/esm5/interfaces/datasource.js.map +1 -1
  199. package/dist/esm5/interfaces/index.js +1 -1
  200. package/dist/esm5/interfaces/index.js.map +1 -1
  201. package/dist/esm5/interfaces/item.js +1 -1
  202. package/dist/esm5/interfaces/item.js.map +1 -1
  203. package/dist/esm5/interfaces/process.js +1 -1
  204. package/dist/esm5/interfaces/routines.js +1 -1
  205. package/dist/esm5/interfaces/routines.js.map +1 -1
  206. package/dist/esm5/interfaces/settings.js +1 -1
  207. package/dist/esm5/interfaces/state.js +1 -1
  208. package/dist/esm5/interfaces/validation.js +1 -1
  209. package/dist/esm5/interfaces/validation.js.map +1 -1
  210. package/dist/esm5/interfaces/workflow.js +1 -1
  211. package/dist/esm5/interfaces/workflow.js.map +1 -1
  212. package/dist/esm5/processes/adapter/append.js +43 -43
  213. package/dist/esm5/processes/adapter/append.js.map +1 -1
  214. package/dist/esm5/processes/adapter/check.js +39 -39
  215. package/dist/esm5/processes/adapter/check.js.map +1 -1
  216. package/dist/esm5/processes/adapter/clip.js +19 -19
  217. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  218. package/dist/esm5/processes/adapter/fix.js +89 -89
  219. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  220. package/dist/esm5/processes/adapter/insert.js +81 -81
  221. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  222. package/dist/esm5/processes/adapter/reload.js +26 -27
  223. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  224. package/dist/esm5/processes/adapter/remove.js +115 -115
  225. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  226. package/dist/esm5/processes/adapter/replace.js +47 -47
  227. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  228. package/dist/esm5/processes/adapter/reset.js +42 -42
  229. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  230. package/dist/esm5/processes/adapter/update.js +59 -59
  231. package/dist/esm5/processes/adapter/update.js.map +1 -1
  232. package/dist/esm5/processes/adjust.js +152 -152
  233. package/dist/esm5/processes/clip.js +60 -60
  234. package/dist/esm5/processes/end.js +63 -63
  235. package/dist/esm5/processes/end.js.map +1 -1
  236. package/dist/esm5/processes/fetch.js +102 -101
  237. package/dist/esm5/processes/fetch.js.map +1 -1
  238. package/dist/esm5/processes/index.js +23 -23
  239. package/dist/esm5/processes/init.js +21 -21
  240. package/dist/esm5/processes/init.js.map +1 -1
  241. package/dist/esm5/processes/misc/base.js +44 -44
  242. package/dist/esm5/processes/misc/base.js.map +1 -1
  243. package/dist/esm5/processes/misc/enums.js +35 -35
  244. package/dist/esm5/processes/misc/enums.js.map +1 -1
  245. package/dist/esm5/processes/misc/index.js +2 -2
  246. package/dist/esm5/processes/misc/index.js.map +1 -1
  247. package/dist/esm5/processes/postFetch.js +73 -73
  248. package/dist/esm5/processes/postFetch.js.map +1 -1
  249. package/dist/esm5/processes/preClip.js +94 -94
  250. package/dist/esm5/processes/preClip.js.map +1 -1
  251. package/dist/esm5/processes/preFetch.js +247 -247
  252. package/dist/esm5/processes/preFetch.js.map +1 -1
  253. package/dist/esm5/processes/render.js +63 -63
  254. package/dist/esm5/processes/render.js.map +1 -1
  255. package/dist/esm5/processes/scroll.js +107 -107
  256. package/dist/esm5/processes/scroll.js.map +1 -1
  257. package/dist/esm5/processes/start.js +18 -18
  258. package/dist/esm5/processes/start.js.map +1 -1
  259. package/dist/esm5/scroller.js +82 -73
  260. package/dist/esm5/scroller.js.map +1 -1
  261. package/dist/esm5/version.js +4 -4
  262. package/dist/esm5/version.js.map +1 -1
  263. package/dist/esm5/workflow-transducer.js +212 -212
  264. package/dist/esm5/workflow-transducer.js.map +1 -1
  265. package/dist/esm5/workflow.js +186 -176
  266. package/dist/esm5/workflow.js.map +1 -1
  267. package/dist/typings/classes/adapter/context.d.ts +4 -4
  268. package/dist/typings/classes/adapter/props.d.ts +47 -47
  269. package/dist/typings/classes/adapter/wanted.d.ts +14 -14
  270. package/dist/typings/classes/adapter.d.ts +74 -64
  271. package/dist/typings/classes/buffer/cache.d.ts +95 -95
  272. package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
  273. package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
  274. package/dist/typings/classes/buffer.d.ts +64 -64
  275. package/dist/typings/classes/datasource.d.ts +27 -27
  276. package/dist/typings/classes/domRoutines.d.ts +33 -33
  277. package/dist/typings/classes/item.d.ts +28 -28
  278. package/dist/typings/classes/logger.d.ts +28 -28
  279. package/dist/typings/classes/paddings.d.ts +22 -22
  280. package/dist/typings/classes/reactive.d.ts +21 -21
  281. package/dist/typings/classes/settings.d.ts +119 -119
  282. package/dist/typings/classes/state/clip.d.ts +9 -9
  283. package/dist/typings/classes/state/cycle.d.ts +29 -29
  284. package/dist/typings/classes/state/fetch.d.ts +62 -62
  285. package/dist/typings/classes/state/render.d.ts +9 -9
  286. package/dist/typings/classes/state/scroll.d.ts +16 -16
  287. package/dist/typings/classes/state.d.ts +27 -27
  288. package/dist/typings/classes/viewport.d.ts +32 -32
  289. package/dist/typings/index.d.ts +9 -9
  290. package/dist/typings/inputs/adapter.d.ts +5 -5
  291. package/dist/typings/inputs/common.d.ts +9 -9
  292. package/dist/typings/inputs/datasource.d.ts +7 -7
  293. package/dist/typings/inputs/index.d.ts +6 -6
  294. package/dist/typings/inputs/settings.d.ts +41 -41
  295. package/dist/typings/inputs/validation.d.ts +83 -83
  296. package/dist/typings/interfaces/adapter.d.ts +156 -156
  297. package/dist/typings/interfaces/datasource.d.ts +26 -26
  298. package/dist/typings/interfaces/index.d.ts +10 -10
  299. package/dist/typings/interfaces/item.d.ts +8 -8
  300. package/dist/typings/interfaces/process.d.ts +35 -35
  301. package/dist/typings/interfaces/routines.d.ts +157 -157
  302. package/dist/typings/interfaces/settings.d.ts +31 -31
  303. package/dist/typings/interfaces/state.d.ts +22 -22
  304. package/dist/typings/interfaces/validation.d.ts +33 -33
  305. package/dist/typings/interfaces/workflow.d.ts +53 -53
  306. package/dist/typings/processes/adapter/append.d.ts +14 -14
  307. package/dist/typings/processes/adapter/check.d.ts +6 -6
  308. package/dist/typings/processes/adapter/clip.d.ts +7 -7
  309. package/dist/typings/processes/adapter/fix.d.ts +13 -13
  310. package/dist/typings/processes/adapter/insert.d.ts +11 -11
  311. package/dist/typings/processes/adapter/reload.d.ts +6 -6
  312. package/dist/typings/processes/adapter/remove.d.ts +11 -11
  313. package/dist/typings/processes/adapter/replace.d.ts +8 -8
  314. package/dist/typings/processes/adapter/reset.d.ts +7 -7
  315. package/dist/typings/processes/adapter/update.d.ts +8 -8
  316. package/dist/typings/processes/adjust.d.ts +10 -10
  317. package/dist/typings/processes/clip.d.ts +7 -7
  318. package/dist/typings/processes/end.d.ts +10 -10
  319. package/dist/typings/processes/fetch.d.ts +18 -18
  320. package/dist/typings/processes/index.d.ts +23 -23
  321. package/dist/typings/processes/init.d.ts +7 -7
  322. package/dist/typings/processes/misc/base.d.ts +4 -4
  323. package/dist/typings/processes/misc/enums.d.ts +32 -32
  324. package/dist/typings/processes/misc/index.d.ts +2 -2
  325. package/dist/typings/processes/postFetch.d.ts +8 -8
  326. package/dist/typings/processes/preClip.d.ts +12 -12
  327. package/dist/typings/processes/preFetch.d.ts +17 -17
  328. package/dist/typings/processes/render.d.ts +9 -9
  329. package/dist/typings/processes/scroll.d.ts +13 -13
  330. package/dist/typings/processes/start.d.ts +6 -6
  331. package/dist/typings/scroller.d.ts +26 -26
  332. package/dist/typings/version.d.ts +5 -5
  333. package/dist/typings/workflow-transducer.d.ts +2 -2
  334. package/dist/typings/workflow.d.ts +29 -28
  335. package/package.json +68 -68
@@ -1,62 +1,62 @@
1
- import { Item } from '../item';
2
- import { Direction } from '../../inputs/index';
3
- declare class Positions {
4
- startDelta: number;
5
- before: number;
6
- relative: number;
7
- start: number;
8
- end: number;
9
- constructor();
10
- reset(): void;
11
- }
12
- declare class First {
13
- index: number;
14
- indexBuffer: number;
15
- position: number;
16
- constructor();
17
- reset(): void;
18
- }
19
- declare class Last {
20
- index: number;
21
- indexBuffer: number;
22
- constructor();
23
- reset(): void;
24
- }
25
- declare class FirstVisible {
26
- index: number;
27
- delta: number;
28
- constructor();
29
- reset(): void;
30
- }
31
- export declare class FetchModel {
32
- private readonly directionPriority;
33
- private _newItemsData;
34
- items: Item[];
35
- positions: Positions;
36
- first: First;
37
- last: Last;
38
- hasAnotherPack: boolean;
39
- callCount: number;
40
- minIndex: number;
41
- firstVisible: FirstVisible;
42
- direction: Direction | null;
43
- cancel: (() => void) | null;
44
- simulate: boolean;
45
- isCheck: boolean;
46
- doRemove: boolean;
47
- constructor(directionPriority: Direction);
48
- reset(): void;
49
- get newItemsData(): unknown[] | null;
50
- set newItemsData(items: unknown[] | null);
51
- get shouldFetch(): boolean;
52
- get hasNewItems(): boolean;
53
- get index(): number;
54
- get count(): number;
55
- shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean;
56
- startSimulate(items: Item[]): void;
57
- stopSimulate(): void;
58
- fill(items: Item[], start: number): void;
59
- check(items: Item[]): void;
60
- update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void;
61
- }
62
- export {};
1
+ import { Item } from '../item';
2
+ import { Direction } from '../../inputs/index';
3
+ declare class Positions {
4
+ startDelta: number;
5
+ before: number;
6
+ relative: number;
7
+ start: number;
8
+ end: number;
9
+ constructor();
10
+ reset(): void;
11
+ }
12
+ declare class First {
13
+ index: number;
14
+ indexBuffer: number;
15
+ position: number;
16
+ constructor();
17
+ reset(): void;
18
+ }
19
+ declare class Last {
20
+ index: number;
21
+ indexBuffer: number;
22
+ constructor();
23
+ reset(): void;
24
+ }
25
+ declare class FirstVisible {
26
+ index: number;
27
+ delta: number;
28
+ constructor();
29
+ reset(): void;
30
+ }
31
+ export declare class FetchModel {
32
+ private readonly directionPriority;
33
+ private _newItemsData;
34
+ items: Item[];
35
+ positions: Positions;
36
+ first: First;
37
+ last: Last;
38
+ hasAnotherPack: boolean;
39
+ callCount: number;
40
+ minIndex: number;
41
+ firstVisible: FirstVisible;
42
+ direction: Direction | null;
43
+ cancel: (() => void) | null;
44
+ simulate: boolean;
45
+ isCheck: boolean;
46
+ doRemove: boolean;
47
+ constructor(directionPriority: Direction);
48
+ reset(): void;
49
+ get newItemsData(): unknown[] | null;
50
+ set newItemsData(items: unknown[] | null);
51
+ get shouldFetch(): boolean;
52
+ get hasNewItems(): boolean;
53
+ get index(): number;
54
+ get count(): number;
55
+ shouldCheckPreSizeExpectation(lastBufferedIndex: number): boolean;
56
+ startSimulate(items: Item[]): void;
57
+ stopSimulate(): void;
58
+ fill(items: Item[], start: number): void;
59
+ check(items: Item[]): void;
60
+ update(index: number, delta: number, items: Item[], itemsToRemove: Item[]): void;
61
+ }
62
+ export {};
@@ -1,9 +1,9 @@
1
- export declare class RenderModel {
2
- sizeBefore: number;
3
- sizeAfter: number;
4
- positionBefore: number;
5
- cancel: (() => void) | null;
6
- get noSize(): boolean;
7
- constructor();
8
- reset(): void;
9
- }
1
+ export declare class RenderModel {
2
+ sizeBefore: number;
3
+ sizeAfter: number;
4
+ positionBefore: number;
5
+ cancel: (() => void) | null;
6
+ get noSize(): boolean;
7
+ constructor();
8
+ reset(): void;
9
+ }
@@ -1,16 +1,16 @@
1
- import { ScrollEventData as IScrollEventData } from '../../interfaces/index';
2
- export declare class ScrollModel {
3
- previous: IScrollEventData | null;
4
- current: IScrollEventData | null;
5
- scrollTimer: ReturnType<typeof setTimeout> | null;
6
- syntheticPosition: number | null;
7
- syntheticFulfill: boolean;
8
- cancelAnimation: (() => void) | null;
9
- positionBeforeAsync: number | null;
10
- positionBeforeAdjust: number | null;
11
- positionAfterAdjust: number | null;
12
- constructor();
13
- reset(): void;
14
- stop(): void;
15
- hasPositionChanged(position: number): boolean;
16
- }
1
+ import { ScrollEventData as IScrollEventData } from '../../interfaces/index';
2
+ export declare class ScrollModel {
3
+ previous: IScrollEventData | null;
4
+ current: IScrollEventData | null;
5
+ scrollTimer: ReturnType<typeof setTimeout> | null;
6
+ syntheticPosition: number | null;
7
+ syntheticFulfill: boolean;
8
+ cancelAnimation: (() => void) | null;
9
+ positionBeforeAsync: number | null;
10
+ positionBeforeAdjust: number | null;
11
+ positionAfterAdjust: number | null;
12
+ constructor();
13
+ reset(): void;
14
+ stop(): void;
15
+ hasPositionChanged(position: number): boolean;
16
+ }
@@ -1,27 +1,27 @@
1
- import { Settings } from './settings';
2
- import { WorkflowCycleModel } from './state/cycle';
3
- import { FetchModel } from './state/fetch';
4
- import { ClipModel } from './state/clip';
5
- import { RenderModel } from './state/render';
6
- import { ScrollModel } from './state/scroll';
7
- import { State as IState, IPackages, ProcessName } from '../interfaces/index';
8
- export declare class State implements IState {
9
- readonly packageInfo: IPackages;
10
- private settings;
11
- initTime: number;
12
- cycle: WorkflowCycleModel;
13
- fetch: FetchModel;
14
- clip: ClipModel;
15
- render: RenderModel;
16
- scroll: ScrollModel;
17
- get time(): number;
18
- constructor(packageInfo: IPackages, settings: Settings, state?: IState);
19
- startWorkflowCycle(isInitial: boolean, initiator: ProcessName): void;
20
- endWorkflowCycle(count: number): void;
21
- startInnerLoop(): {
22
- process?: ProcessName;
23
- doRender?: boolean;
24
- };
25
- endInnerLoop(): void;
26
- dispose(): void;
27
- }
1
+ import { Settings } from './settings';
2
+ import { WorkflowCycleModel } from './state/cycle';
3
+ import { FetchModel } from './state/fetch';
4
+ import { ClipModel } from './state/clip';
5
+ import { RenderModel } from './state/render';
6
+ import { ScrollModel } from './state/scroll';
7
+ import { State as IState, IPackages, ProcessName } from '../interfaces/index';
8
+ export declare class State implements IState {
9
+ readonly packageInfo: IPackages;
10
+ private settings;
11
+ initTime: number;
12
+ cycle: WorkflowCycleModel;
13
+ fetch: FetchModel;
14
+ clip: ClipModel;
15
+ render: RenderModel;
16
+ scroll: ScrollModel;
17
+ get time(): number;
18
+ constructor(packageInfo: IPackages, settings: Settings, state?: IState);
19
+ startWorkflowCycle(isInitial: boolean, initiator: ProcessName): void;
20
+ endWorkflowCycle(count: number): void;
21
+ startInnerLoop(): {
22
+ process?: ProcessName;
23
+ doRender?: boolean;
24
+ };
25
+ endInnerLoop(): void;
26
+ dispose(): void;
27
+ }
@@ -1,32 +1,32 @@
1
- import { Paddings } from './paddings';
2
- import { Settings } from './settings';
3
- import { Routines } from './domRoutines';
4
- import { Item } from './item';
5
- import { State } from './state';
6
- import { Logger } from './logger';
7
- import { Direction } from '../inputs/index';
8
- export declare class Viewport {
9
- offset: number;
10
- paddings: Paddings;
11
- readonly settings: Settings;
12
- readonly routines: Routines;
13
- readonly state: State;
14
- readonly logger: Logger;
15
- constructor(settings: Settings, routines: Routines, state: State, logger: Logger);
16
- reset(startIndex: number): void;
17
- setPosition(value: number): number;
18
- get scrollPosition(): number;
19
- set scrollPosition(value: number);
20
- getSize(): number;
21
- getScrollableSize(): number;
22
- getMaxScrollPosition(): number;
23
- getBufferPadding(): number;
24
- getEdge(direction: Direction): number;
25
- setOffset(): void;
26
- findItemElementById(id: string): HTMLElement | null;
27
- getEdgeVisibleItem(items: Item[], direction: Direction): {
28
- item?: Item;
29
- index: number;
30
- diff: number;
31
- };
32
- }
1
+ import { Paddings } from './paddings';
2
+ import { Settings } from './settings';
3
+ import { Routines } from './domRoutines';
4
+ import { Item } from './item';
5
+ import { State } from './state';
6
+ import { Logger } from './logger';
7
+ import { Direction } from '../inputs/index';
8
+ export declare class Viewport {
9
+ offset: number;
10
+ paddings: Paddings;
11
+ readonly settings: Settings;
12
+ readonly routines: Routines;
13
+ readonly state: State;
14
+ readonly logger: Logger;
15
+ constructor(settings: Settings, routines: Routines, state: State, logger: Logger);
16
+ reset(startIndex: number): void;
17
+ setPosition(value: number): number;
18
+ get scrollPosition(): number;
19
+ set scrollPosition(value: number);
20
+ getSize(): number;
21
+ getScrollableSize(): number;
22
+ getMaxScrollPosition(): number;
23
+ getBufferPadding(): number;
24
+ getEdge(direction: Direction): number;
25
+ setOffset(): void;
26
+ findItemElementById(id: string): HTMLElement | null;
27
+ getEdgeVisibleItem(items: Item[], direction: Direction): {
28
+ item?: Item;
29
+ index: number;
30
+ diff: number;
31
+ };
32
+ }
@@ -1,9 +1,9 @@
1
- import { Workflow } from './workflow';
2
- import { makeDatasource } from './classes/datasource';
3
- import packageInfo from './version';
4
- import { INVALID_DATASOURCE_PREFIX } from './scroller';
5
- import { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';
6
- import { Direction, SizeStrategy } from './inputs/index';
7
- import { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter, IAdapter, Item } from './interfaces/index';
8
- export { Workflow, makeDatasource, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy, };
9
- export { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter as IAdapterItem, IAdapter, Item, };
1
+ import { Workflow } from './workflow';
2
+ import { makeDatasource } from './classes/datasource';
3
+ import packageInfo from './version';
4
+ import { INVALID_DATASOURCE_PREFIX } from './scroller';
5
+ import { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';
6
+ import { Direction, SizeStrategy } from './inputs/index';
7
+ import { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter, IAdapter, Item } from './interfaces/index';
8
+ export { Workflow, makeDatasource, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy, };
9
+ export { IDatasource, IDatasourceConstructed, IRoutines, IReactivePropConfig, IAdapterConfig, ItemAdapter as IAdapterItem, IAdapter, Item, };
@@ -1,5 +1,5 @@
1
- import { ICommonProps, AdapterProcessMap } from '../interfaces/index';
2
- export declare const AdapterMethods: AdapterProcessMap<{
3
- [key: string]: string;
4
- }>;
5
- export declare const ADAPTER_METHODS: AdapterProcessMap<ICommonProps<PropertyKey>>;
1
+ import { ICommonProps, AdapterProcessMap } from '../interfaces/index';
2
+ export declare const AdapterMethods: AdapterProcessMap<{
3
+ [key: string]: string;
4
+ }>;
5
+ export declare const ADAPTER_METHODS: AdapterProcessMap<ICommonProps<PropertyKey>>;
@@ -1,9 +1,9 @@
1
- export declare enum Direction {
2
- forward = "forward",
3
- backward = "backward"
4
- }
5
- export declare enum SizeStrategy {
6
- Average = "average",
7
- Constant = "constant",
8
- Frequent = "frequent"
9
- }
1
+ export declare enum Direction {
2
+ forward = "forward",
3
+ backward = "backward"
4
+ }
5
+ export declare enum SizeStrategy {
6
+ Average = "average",
7
+ Constant = "constant",
8
+ Frequent = "frequent"
9
+ }
@@ -1,7 +1,7 @@
1
- import { ICommonProps } from '../interfaces/index';
2
- export declare enum DatasourceProps {
3
- get = "get",
4
- settings = "settings",
5
- devSettings = "devSettings"
6
- }
7
- export declare const DATASOURCE: ICommonProps<DatasourceProps>;
1
+ import { ICommonProps } from '../interfaces/index';
2
+ export declare enum DatasourceProps {
3
+ get = "get",
4
+ settings = "settings",
5
+ devSettings = "devSettings"
6
+ }
7
+ export declare const DATASOURCE: ICommonProps<DatasourceProps>;
@@ -1,6 +1,6 @@
1
- import { Direction, SizeStrategy } from './common';
2
- import { ValidatorType, VALIDATORS, validateOne, validate } from './validation';
3
- import { DatasourceProps, DATASOURCE } from './datasource';
4
- import { SETTINGS, DEV_SETTINGS } from './settings';
5
- import { AdapterMethods, ADAPTER_METHODS } from './adapter';
6
- export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, };
1
+ import { Direction, SizeStrategy } from './common';
2
+ import { ValidatorType, VALIDATORS, validateOne, validate } from './validation';
3
+ import { DatasourceProps, DATASOURCE } from './datasource';
4
+ import { SETTINGS, DEV_SETTINGS } from './settings';
5
+ import { AdapterMethods, ADAPTER_METHODS } from './adapter';
6
+ export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, };
@@ -1,41 +1,41 @@
1
- import { ICommonProps } from '../interfaces/index';
2
- declare enum Settings {
3
- adapter = "adapter",
4
- startIndex = "startIndex",
5
- minIndex = "minIndex",
6
- maxIndex = "maxIndex",
7
- itemSize = "itemSize",
8
- bufferSize = "bufferSize",
9
- padding = "padding",
10
- infinite = "infinite",
11
- horizontal = "horizontal",
12
- windowViewport = "windowViewport",
13
- viewportElement = "viewportElement",
14
- inverse = "inverse",
15
- onBeforeClip = "onBeforeClip",
16
- sizeStrategy = "sizeStrategy"
17
- }
18
- declare enum DevSettings {
19
- debug = "debug",
20
- immediateLog = "immediateLog",
21
- logProcessRun = "logProcessRun",
22
- logTime = "logTime",
23
- throttle = "throttle",
24
- initDelay = "initDelay",
25
- initWindowDelay = "initWindowDelay",
26
- cacheData = "cacheData",
27
- cacheOnReload = "cacheOnReload",
28
- dismissOverflowAnchor = "dismissOverflowAnchor",
29
- directionPriority = "directionPriority"
30
- }
31
- export declare const MIN: {
32
- itemSize: number;
33
- bufferSize: number;
34
- padding: number;
35
- throttle: number;
36
- initDelay: number;
37
- initWindowDelay: number;
38
- };
39
- export declare const SETTINGS: ICommonProps<Settings>;
40
- export declare const DEV_SETTINGS: ICommonProps<DevSettings>;
41
- export {};
1
+ import { ICommonProps } from '../interfaces/index';
2
+ declare enum Settings {
3
+ adapter = "adapter",
4
+ startIndex = "startIndex",
5
+ minIndex = "minIndex",
6
+ maxIndex = "maxIndex",
7
+ itemSize = "itemSize",
8
+ bufferSize = "bufferSize",
9
+ padding = "padding",
10
+ infinite = "infinite",
11
+ horizontal = "horizontal",
12
+ windowViewport = "windowViewport",
13
+ viewportElement = "viewportElement",
14
+ inverse = "inverse",
15
+ onBeforeClip = "onBeforeClip",
16
+ sizeStrategy = "sizeStrategy"
17
+ }
18
+ declare enum DevSettings {
19
+ debug = "debug",
20
+ immediateLog = "immediateLog",
21
+ logProcessRun = "logProcessRun",
22
+ logTime = "logTime",
23
+ throttle = "throttle",
24
+ initDelay = "initDelay",
25
+ initWindowDelay = "initWindowDelay",
26
+ cacheData = "cacheData",
27
+ cacheOnReload = "cacheOnReload",
28
+ dismissOverflowAnchor = "dismissOverflowAnchor",
29
+ directionPriority = "directionPriority"
30
+ }
31
+ export declare const MIN: {
32
+ itemSize: number;
33
+ bufferSize: number;
34
+ padding: number;
35
+ throttle: number;
36
+ initDelay: number;
37
+ initWindowDelay: number;
38
+ };
39
+ export declare const SETTINGS: ICommonProps<Settings>;
40
+ export declare const DEV_SETTINGS: ICommonProps<DevSettings>;
41
+ export {};
@@ -1,83 +1,83 @@
1
- import { IValidationContext } from '../interfaces/validation';
2
- import { IValidator, ValidatedValue, IValidatedData, IValidatedCommonProps, ICommonProps, ICommonProp } from '../interfaces/index';
3
- export declare enum ValidatorType {
4
- number = "must be a number",
5
- integer = "must be an integer",
6
- integerUnlimited = "must be an integer or infinity",
7
- moreOrEqual = "must be a number greater than (or equal to) {arg1}",
8
- itemList = "must be an array of items {arg1}",
9
- boolean = "must be a boolean",
10
- object = "must be an object",
11
- element = "must be an html element",
12
- function = "must be a function",
13
- funcOfxArguments = "must have {arg1} argument(s)",
14
- funcOfxAndMoreArguments = "must have at least {arg1} argument(s)",
15
- funcOfXToYArguments = "must have {arg1} to {arg2} arguments",
16
- oneOfCan = "can be present as only one item of {arg1} list",
17
- oneOfMust = "must be present as only one item of {arg1} list",
18
- or = "must satisfy at least 1 validator from {arg1} list",
19
- enum = "must belong to {arg1} list"
20
- }
21
- declare enum AbstractEnum {
22
- }
23
- declare type TEnum = typeof AbstractEnum;
24
- export declare const VALIDATORS: {
25
- NUMBER: {
26
- type: ValidatorType;
27
- method: (value: unknown) => ValidatedValue;
28
- };
29
- INTEGER: {
30
- type: ValidatorType;
31
- method: (value: unknown) => ValidatedValue;
32
- };
33
- INTEGER_UNLIMITED: {
34
- type: ValidatorType;
35
- method: (value: unknown) => ValidatedValue;
36
- };
37
- MORE_OR_EQUAL: (limit: number, fallback?: boolean | undefined) => IValidator;
38
- BOOLEAN: {
39
- type: ValidatorType;
40
- method: (value: unknown) => ValidatedValue;
41
- };
42
- OBJECT: {
43
- type: ValidatorType;
44
- method: (value: unknown) => ValidatedValue;
45
- };
46
- ITEM_LIST: {
47
- type: ValidatorType;
48
- method: (value: unknown) => ValidatedValue;
49
- };
50
- ELEMENT: {
51
- type: ValidatorType;
52
- method: (value: unknown) => ValidatedValue;
53
- };
54
- FUNC: {
55
- type: ValidatorType;
56
- method: (value: unknown) => ValidatedValue;
57
- };
58
- FUNC_WITH_X_ARGUMENTS: (count: number) => IValidator;
59
- FUNC_WITH_X_AND_MORE_ARGUMENTS: (count: number) => IValidator;
60
- FUNC_WITH_X_TO_Y_ARGUMENTS: (from: number, to: number) => IValidator;
61
- ONE_OF_CAN: (list: string[]) => IValidator;
62
- ONE_OF_MUST: (list: string[]) => IValidator;
63
- OR: (list: IValidator[]) => IValidator;
64
- ENUM: (list: TEnum) => IValidator;
65
- };
66
- export declare class ValidatedData implements IValidatedData {
67
- context: IValidationContext;
68
- isValidContext: boolean;
69
- isValid: boolean;
70
- errors: string[];
71
- params: IValidatedCommonProps<PropertyKey>;
72
- private contextErrors;
73
- constructor(context: unknown);
74
- private setContext;
75
- private setValidity;
76
- setCommonError(error: string): void;
77
- setParam(token: string, value: ValidatedValue): void;
78
- showErrors(): string;
79
- }
80
- export declare const runValidator: (current: ValidatedValue, validator: IValidator, context: IValidationContext) => ValidatedValue;
81
- export declare const validateOne: (context: IValidationContext, name: string, prop: ICommonProp) => ValidatedValue;
82
- export declare const validate: (context: unknown, params: ICommonProps<PropertyKey>) => IValidatedData;
83
- export {};
1
+ import { IValidationContext } from '../interfaces/validation';
2
+ import { IValidator, ValidatedValue, IValidatedData, IValidatedCommonProps, ICommonProps, ICommonProp } from '../interfaces/index';
3
+ export declare enum ValidatorType {
4
+ number = "must be a number",
5
+ integer = "must be an integer",
6
+ integerUnlimited = "must be an integer or infinity",
7
+ moreOrEqual = "must be a number greater than (or equal to) {arg1}",
8
+ itemList = "must be an array of items {arg1}",
9
+ boolean = "must be a boolean",
10
+ object = "must be an object",
11
+ element = "must be an html element",
12
+ function = "must be a function",
13
+ funcOfxArguments = "must have {arg1} argument(s)",
14
+ funcOfxAndMoreArguments = "must have at least {arg1} argument(s)",
15
+ funcOfXToYArguments = "must have {arg1} to {arg2} arguments",
16
+ oneOfCan = "can be present as only one item of {arg1} list",
17
+ oneOfMust = "must be present as only one item of {arg1} list",
18
+ or = "must satisfy at least 1 validator from {arg1} list",
19
+ enum = "must belong to {arg1} list"
20
+ }
21
+ declare enum AbstractEnum {
22
+ }
23
+ declare type TEnum = typeof AbstractEnum;
24
+ export declare const VALIDATORS: {
25
+ NUMBER: {
26
+ type: ValidatorType;
27
+ method: (value: unknown) => ValidatedValue;
28
+ };
29
+ INTEGER: {
30
+ type: ValidatorType;
31
+ method: (value: unknown) => ValidatedValue;
32
+ };
33
+ INTEGER_UNLIMITED: {
34
+ type: ValidatorType;
35
+ method: (value: unknown) => ValidatedValue;
36
+ };
37
+ MORE_OR_EQUAL: (limit: number, fallback?: boolean | undefined) => IValidator;
38
+ BOOLEAN: {
39
+ type: ValidatorType;
40
+ method: (value: unknown) => ValidatedValue;
41
+ };
42
+ OBJECT: {
43
+ type: ValidatorType;
44
+ method: (value: unknown) => ValidatedValue;
45
+ };
46
+ ITEM_LIST: {
47
+ type: ValidatorType;
48
+ method: (value: unknown) => ValidatedValue;
49
+ };
50
+ ELEMENT: {
51
+ type: ValidatorType;
52
+ method: (value: unknown) => ValidatedValue;
53
+ };
54
+ FUNC: {
55
+ type: ValidatorType;
56
+ method: (value: unknown) => ValidatedValue;
57
+ };
58
+ FUNC_WITH_X_ARGUMENTS: (count: number) => IValidator;
59
+ FUNC_WITH_X_AND_MORE_ARGUMENTS: (count: number) => IValidator;
60
+ FUNC_WITH_X_TO_Y_ARGUMENTS: (from: number, to: number) => IValidator;
61
+ ONE_OF_CAN: (list: string[]) => IValidator;
62
+ ONE_OF_MUST: (list: string[]) => IValidator;
63
+ OR: (list: IValidator[]) => IValidator;
64
+ ENUM: (list: TEnum) => IValidator;
65
+ };
66
+ export declare class ValidatedData implements IValidatedData {
67
+ context: IValidationContext;
68
+ isValidContext: boolean;
69
+ isValid: boolean;
70
+ errors: string[];
71
+ params: IValidatedCommonProps<PropertyKey>;
72
+ private contextErrors;
73
+ constructor(context: unknown);
74
+ private setContext;
75
+ private setValidity;
76
+ setCommonError(error: string): void;
77
+ setParam(token: string, value: ValidatedValue): void;
78
+ showErrors(): string;
79
+ }
80
+ export declare const runValidator: (current: ValidatedValue, validator: IValidator, context: IValidationContext) => ValidatedValue;
81
+ export declare const validateOne: (context: IValidationContext, name: string, prop: ICommonProp) => ValidatedValue;
82
+ export declare const validate: (context: unknown, params: ICommonProps<PropertyKey>) => IValidatedData;
83
+ export {};