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,156 +1,156 @@
1
- import { AdapterPropName, AdapterPropType } from '../classes/adapter/props';
2
- import { Reactive } from '../classes/reactive';
3
- import { IDatasourceOptional } from './datasource';
4
- import { IValidatedData } from './validation';
5
- export interface IReactivePropConfig {
6
- source: unknown;
7
- emit: (source: unknown, value: unknown) => void;
8
- }
9
- interface IReactivePropStore extends IReactivePropConfig {
10
- default: Reactive<unknown>;
11
- }
12
- export declare type IReactivePropsConfig = {
13
- [key in AdapterPropName]?: IReactivePropConfig;
14
- };
15
- export declare type IReactivePropsStore = {
16
- [key in AdapterPropName]?: IReactivePropStore;
17
- };
18
- export interface IWanted {
19
- box: {
20
- [key: string]: boolean;
21
- };
22
- block: boolean;
23
- }
24
- export interface IAdapterConfig {
25
- mock: boolean;
26
- reactive?: IReactivePropsConfig;
27
- }
28
- export interface IAdapterProp {
29
- name: AdapterPropName;
30
- type: AdapterPropType;
31
- value: unknown;
32
- reactive?: AdapterPropName;
33
- wanted?: boolean;
34
- onDemand?: boolean;
35
- permanent?: boolean;
36
- }
37
- export interface ItemAdapter<Data = unknown> {
38
- $index: number;
39
- data: Data;
40
- element?: HTMLElement;
41
- }
42
- export declare type ItemsPredicate<T = unknown> = (item: ItemAdapter<T>) => boolean;
43
- export declare type ItemsUpdater<T = unknown> = (item: ItemAdapter<T>, update: () => void) => void;
44
- export declare type ItemsProcessor<T = unknown> = (items: ItemAdapter<T>[]) => void;
45
- export declare type BufferUpdater<T = unknown> = (item: ItemAdapter<T>) => unknown;
46
- export interface IPackage {
47
- name: string;
48
- version: string;
49
- }
50
- export interface IPackages {
51
- core: IPackage;
52
- consumer: IPackage;
53
- }
54
- export interface IBufferInfo {
55
- firstIndex: number;
56
- lastIndex: number;
57
- minIndex: number;
58
- maxIndex: number;
59
- absMinIndex: number;
60
- absMaxIndex: number;
61
- defaultSize: number;
62
- }
63
- export interface IAdapterInput<T> {
64
- data: IValidatedData;
65
- params?: T;
66
- }
67
- export interface AdapterAppendOptions<Data = unknown> {
68
- items: Data[];
69
- eof?: boolean;
70
- decrease?: boolean;
71
- }
72
- export interface AdapterPrependOptions<Data = unknown> {
73
- items: Data[];
74
- bof?: boolean;
75
- increase?: boolean;
76
- }
77
- export interface AdapterRemoveOptions<Data = unknown> {
78
- predicate?: ItemsPredicate<Data>;
79
- indexes?: number[];
80
- increase?: boolean;
81
- }
82
- export interface AdapterClipOptions {
83
- forwardOnly?: boolean;
84
- backwardOnly?: boolean;
85
- }
86
- export interface AdapterInsertOptions<Data = unknown> {
87
- items: Data[];
88
- before?: ItemsPredicate<Data>;
89
- after?: ItemsPredicate<Data>;
90
- beforeIndex?: number;
91
- afterIndex?: number;
92
- decrease?: boolean;
93
- }
94
- export interface AdapterReplaceOptions<Data = unknown> {
95
- items: Data[];
96
- predicate: ItemsPredicate<Data>;
97
- fixRight?: boolean;
98
- }
99
- export interface AdapterUpdateOptions<Data = unknown> {
100
- predicate: BufferUpdater<Data>;
101
- fixRight?: boolean;
102
- }
103
- export interface AdapterFixOptions<Data = unknown> {
104
- scrollPosition?: number;
105
- minIndex?: number;
106
- maxIndex?: number;
107
- updater?: ItemsUpdater<Data>;
108
- scrollToItem?: ItemsPredicate<Data>;
109
- scrollToItemOpt?: boolean | ScrollIntoViewOptions;
110
- }
111
- export interface AdapterMethodResult {
112
- success: boolean;
113
- immediate: boolean;
114
- details: string | null;
115
- }
116
- declare type MethodResult = Promise<AdapterMethodResult>;
117
- export interface IAdapter<Data = unknown> {
118
- readonly id: number;
119
- readonly mock: boolean;
120
- readonly augmented: boolean;
121
- readonly version: string;
122
- readonly init: boolean;
123
- readonly init$: Reactive<boolean>;
124
- readonly packageInfo: IPackages;
125
- readonly itemsCount: number;
126
- readonly bufferInfo: IBufferInfo;
127
- readonly isLoading: boolean;
128
- readonly isLoading$: Reactive<boolean>;
129
- readonly loopPending: boolean;
130
- readonly loopPending$: Reactive<boolean>;
131
- readonly firstVisible: ItemAdapter<Data>;
132
- readonly firstVisible$: Reactive<ItemAdapter<Data>>;
133
- readonly lastVisible: ItemAdapter<Data>;
134
- readonly lastVisible$: Reactive<ItemAdapter<Data>>;
135
- readonly bof: boolean;
136
- readonly bof$: Reactive<boolean>;
137
- readonly eof: boolean;
138
- readonly eof$: Reactive<boolean>;
139
- reset(datasource?: IDatasourceOptional): MethodResult;
140
- reload(reloadIndex?: number | string): MethodResult;
141
- append(options: AdapterAppendOptions<Data>): MethodResult;
142
- append(items: Data | Data[], eof?: boolean): MethodResult;
143
- prepend(options: AdapterPrependOptions<Data>): MethodResult;
144
- prepend(items: Data | Data[], bof?: boolean): MethodResult;
145
- check(): MethodResult;
146
- remove(args: AdapterRemoveOptions<Data>): MethodResult;
147
- remove(args: ItemsPredicate<Data>): MethodResult;
148
- clip(options?: AdapterClipOptions): MethodResult;
149
- insert(options: AdapterInsertOptions<Data>): MethodResult;
150
- replace(options: AdapterReplaceOptions<Data>): MethodResult;
151
- update(options: AdapterUpdateOptions<Data>): MethodResult;
152
- fix(options: AdapterFixOptions<Data>): MethodResult;
153
- relax(callback?: () => void): MethodResult;
154
- showLog(): void;
155
- }
156
- export {};
1
+ import { AdapterPropName, AdapterPropType } from '../classes/adapter/props';
2
+ import { Reactive } from '../classes/reactive';
3
+ import { IDatasourceOptional } from './datasource';
4
+ import { IValidatedData } from './validation';
5
+ export interface IReactivePropConfig {
6
+ source: unknown;
7
+ emit: (source: unknown, value: unknown) => void;
8
+ }
9
+ interface IReactivePropStore extends IReactivePropConfig {
10
+ default: Reactive<unknown>;
11
+ }
12
+ export declare type IReactivePropsConfig = {
13
+ [key in AdapterPropName]?: IReactivePropConfig;
14
+ };
15
+ export declare type IReactivePropsStore = {
16
+ [key in AdapterPropName]?: IReactivePropStore;
17
+ };
18
+ export interface IWanted {
19
+ box: {
20
+ [key: string]: boolean;
21
+ };
22
+ block: boolean;
23
+ }
24
+ export interface IAdapterConfig {
25
+ mock: boolean;
26
+ reactive?: IReactivePropsConfig;
27
+ }
28
+ export interface IAdapterProp {
29
+ name: AdapterPropName;
30
+ type: AdapterPropType;
31
+ value: unknown;
32
+ reactive?: AdapterPropName;
33
+ wanted?: boolean;
34
+ onDemand?: boolean;
35
+ permanent?: boolean;
36
+ }
37
+ export interface ItemAdapter<Data = unknown> {
38
+ $index: number;
39
+ data: Data;
40
+ element?: HTMLElement;
41
+ }
42
+ export declare type ItemsPredicate<T = unknown> = (item: ItemAdapter<T>) => boolean;
43
+ export declare type ItemsUpdater<T = unknown> = (item: ItemAdapter<T>, update: () => void) => void;
44
+ export declare type ItemsProcessor<T = unknown> = (items: ItemAdapter<T>[]) => void;
45
+ export declare type BufferUpdater<T = unknown> = (item: ItemAdapter<T>) => unknown;
46
+ export interface IPackage {
47
+ name: string;
48
+ version: string;
49
+ }
50
+ export interface IPackages {
51
+ core: IPackage;
52
+ consumer: IPackage;
53
+ }
54
+ export interface IBufferInfo {
55
+ firstIndex: number;
56
+ lastIndex: number;
57
+ minIndex: number;
58
+ maxIndex: number;
59
+ absMinIndex: number;
60
+ absMaxIndex: number;
61
+ defaultSize: number;
62
+ }
63
+ export interface IAdapterInput<T> {
64
+ data: IValidatedData;
65
+ params?: T;
66
+ }
67
+ export interface AdapterAppendOptions<Data = unknown> {
68
+ items: Data[];
69
+ eof?: boolean;
70
+ decrease?: boolean;
71
+ }
72
+ export interface AdapterPrependOptions<Data = unknown> {
73
+ items: Data[];
74
+ bof?: boolean;
75
+ increase?: boolean;
76
+ }
77
+ export interface AdapterRemoveOptions<Data = unknown> {
78
+ predicate?: ItemsPredicate<Data>;
79
+ indexes?: number[];
80
+ increase?: boolean;
81
+ }
82
+ export interface AdapterClipOptions {
83
+ forwardOnly?: boolean;
84
+ backwardOnly?: boolean;
85
+ }
86
+ export interface AdapterInsertOptions<Data = unknown> {
87
+ items: Data[];
88
+ before?: ItemsPredicate<Data>;
89
+ after?: ItemsPredicate<Data>;
90
+ beforeIndex?: number;
91
+ afterIndex?: number;
92
+ decrease?: boolean;
93
+ }
94
+ export interface AdapterReplaceOptions<Data = unknown> {
95
+ items: Data[];
96
+ predicate: ItemsPredicate<Data>;
97
+ fixRight?: boolean;
98
+ }
99
+ export interface AdapterUpdateOptions<Data = unknown> {
100
+ predicate: BufferUpdater<Data>;
101
+ fixRight?: boolean;
102
+ }
103
+ export interface AdapterFixOptions<Data = unknown> {
104
+ scrollPosition?: number;
105
+ minIndex?: number;
106
+ maxIndex?: number;
107
+ updater?: ItemsUpdater<Data>;
108
+ scrollToItem?: ItemsPredicate<Data>;
109
+ scrollToItemOpt?: boolean | ScrollIntoViewOptions;
110
+ }
111
+ export interface AdapterMethodResult {
112
+ success: boolean;
113
+ immediate: boolean;
114
+ details: string | null;
115
+ }
116
+ declare type MethodResult = Promise<AdapterMethodResult>;
117
+ export interface IAdapter<Data = unknown> {
118
+ readonly id: number;
119
+ readonly mock: boolean;
120
+ readonly augmented: boolean;
121
+ readonly version: string;
122
+ readonly init: boolean;
123
+ readonly init$: Reactive<boolean>;
124
+ readonly packageInfo: IPackages;
125
+ readonly itemsCount: number;
126
+ readonly bufferInfo: IBufferInfo;
127
+ readonly isLoading: boolean;
128
+ readonly isLoading$: Reactive<boolean>;
129
+ readonly loopPending: boolean;
130
+ readonly loopPending$: Reactive<boolean>;
131
+ readonly firstVisible: ItemAdapter<Data>;
132
+ readonly firstVisible$: Reactive<ItemAdapter<Data>>;
133
+ readonly lastVisible: ItemAdapter<Data>;
134
+ readonly lastVisible$: Reactive<ItemAdapter<Data>>;
135
+ readonly bof: boolean;
136
+ readonly bof$: Reactive<boolean>;
137
+ readonly eof: boolean;
138
+ readonly eof$: Reactive<boolean>;
139
+ reset(datasource?: IDatasourceOptional): MethodResult;
140
+ reload(reloadIndex?: number | string): MethodResult;
141
+ append(options: AdapterAppendOptions<Data>): MethodResult;
142
+ append(items: Data | Data[], eof?: boolean): MethodResult;
143
+ prepend(options: AdapterPrependOptions<Data>): MethodResult;
144
+ prepend(items: Data | Data[], bof?: boolean): MethodResult;
145
+ check(): MethodResult;
146
+ remove(args: AdapterRemoveOptions<Data>): MethodResult;
147
+ remove(args: ItemsPredicate<Data>): MethodResult;
148
+ clip(options?: AdapterClipOptions): MethodResult;
149
+ insert(options: AdapterInsertOptions<Data>): MethodResult;
150
+ replace(options: AdapterReplaceOptions<Data>): MethodResult;
151
+ update(options: AdapterUpdateOptions<Data>): MethodResult;
152
+ fix(options: AdapterFixOptions<Data>): MethodResult;
153
+ relax(callback?: () => void): MethodResult;
154
+ showLog(): void;
155
+ }
156
+ export {};
@@ -1,26 +1,26 @@
1
- import { Settings, DevSettings } from './settings';
2
- import { IAdapter } from './adapter';
3
- declare type SuccessFn<T = unknown> = (data: T[]) => void;
4
- declare type ErrorFn = (error: unknown) => void;
5
- export interface ObservableLike<T = unknown> {
6
- subscribe(next: SuccessFn<T>, error: ErrorFn, complete: () => void): {
7
- unsubscribe: () => void;
8
- };
9
- }
10
- declare type DSGetCallback<T> = (index: number, count: number, success: SuccessFn<T>, fail?: ErrorFn) => void;
11
- declare type DSGetObservable<T> = (index: number, count: number) => ObservableLike<T[]>;
12
- declare type DSGetPromise<T> = (index: number, count: number) => PromiseLike<T[]>;
13
- export declare type DatasourceGet<T> = DSGetCallback<T> | DSGetObservable<T> | DSGetPromise<T>;
14
- export interface IDatasourceOptional<T = unknown> {
15
- get?: DatasourceGet<T>;
16
- settings?: Settings<T>;
17
- devSettings?: DevSettings;
18
- }
19
- export interface IDatasource<T = unknown> extends IDatasourceOptional<T> {
20
- get: DatasourceGet<T>;
21
- adapter?: IAdapter<T>;
22
- }
23
- export interface IDatasourceConstructed<T = unknown> extends IDatasource<T> {
24
- adapter: IAdapter<T>;
25
- }
26
- export {};
1
+ import { Settings, DevSettings } from './settings';
2
+ import { IAdapter } from './adapter';
3
+ declare type SuccessFn<T = unknown> = (data: T[]) => void;
4
+ declare type ErrorFn = (error: unknown) => void;
5
+ export interface ObservableLike<T = unknown> {
6
+ subscribe(next: SuccessFn<T>, error: ErrorFn, complete: () => void): {
7
+ unsubscribe: () => void;
8
+ };
9
+ }
10
+ declare type DSGetCallback<T> = (index: number, count: number, success: SuccessFn<T>, fail?: ErrorFn) => void;
11
+ declare type DSGetObservable<T> = (index: number, count: number) => ObservableLike<T[]>;
12
+ declare type DSGetPromise<T> = (index: number, count: number) => PromiseLike<T[]>;
13
+ export declare type DatasourceGet<T> = DSGetCallback<T> | DSGetObservable<T> | DSGetPromise<T>;
14
+ export interface IDatasourceOptional<T = unknown> {
15
+ get?: DatasourceGet<T>;
16
+ settings?: Settings<T>;
17
+ devSettings?: DevSettings;
18
+ }
19
+ export interface IDatasource<T = unknown> extends IDatasourceOptional<T> {
20
+ get: DatasourceGet<T>;
21
+ adapter?: IAdapter<T>;
22
+ }
23
+ export interface IDatasourceConstructed<T = unknown> extends IDatasource<T> {
24
+ adapter: IAdapter<T>;
25
+ }
26
+ export {};
@@ -1,10 +1,10 @@
1
- import { ObservableLike, DatasourceGet, IDatasourceOptional, IDatasource, IDatasourceConstructed } from './datasource';
2
- import { OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams } from './workflow';
3
- import { Item } from './item';
4
- import { IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, AdapterMethodResult, IAdapter } from './adapter';
5
- import { Settings, DevSettings } from './settings';
6
- import { IRoutines, CustomRoutinesClass } from './routines';
7
- import { ScrollEventData, State } from './state';
8
- import { ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess } from './process';
9
- import { ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData } from './validation';
10
- export { ObservableLike, DatasourceGet, IDatasourceOptional, IDatasource, IDatasourceConstructed, OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams, Item, IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, AdapterMethodResult, IAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, Settings, DevSettings, IRoutines, CustomRoutinesClass, ScrollEventData, State, ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess, ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData, };
1
+ import { ObservableLike, DatasourceGet, IDatasourceOptional, IDatasource, IDatasourceConstructed } from './datasource';
2
+ import { OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams } from './workflow';
3
+ import { Item } from './item';
4
+ import { IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, AdapterMethodResult, IAdapter } from './adapter';
5
+ import { Settings, DevSettings } from './settings';
6
+ import { IRoutines, CustomRoutinesClass } from './routines';
7
+ import { ScrollEventData, State } from './state';
8
+ import { ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess } from './process';
9
+ import { ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData } from './validation';
10
+ export { ObservableLike, DatasourceGet, IDatasourceOptional, IDatasource, IDatasourceConstructed, OnDataChanged, WorkflowParams, ScrollerWorkflow, ScrollerParams, WorkflowGetter, WorkflowError, InterruptParams, StateMachineMethods, StateMachineParams, Item, IReactivePropConfig, IReactivePropsConfig, IReactivePropsStore, IWanted, IAdapterConfig, IAdapterProp, ItemAdapter, AdapterMethodResult, IAdapter, ItemsPredicate, ItemsUpdater, ItemsProcessor, BufferUpdater, IPackage, IPackages, IBufferInfo, IAdapterInput, AdapterAppendOptions, AdapterPrependOptions, AdapterRemoveOptions, AdapterClipOptions, AdapterInsertOptions, AdapterReplaceOptions, AdapterUpdateOptions, AdapterFixOptions, Settings, DevSettings, IRoutines, CustomRoutinesClass, ScrollEventData, State, ProcessName, ProcessClass, ProcessPayload, ProcessSubject, AdapterProcessMap, IBaseProcess, IBaseAdapterProcess, ValidatedValue, IValidator, ICommonProp, ICommonProps, IValidatedCommonProps, IValidatedData, };
@@ -1,8 +1,8 @@
1
- import { ItemAdapter } from './adapter';
2
- export interface Item<Data = unknown> {
3
- $index: number;
4
- element: HTMLElement;
5
- data: Data;
6
- invisible: boolean;
7
- get: () => ItemAdapter<Data>;
8
- }
1
+ import { ItemAdapter } from './adapter';
2
+ export interface Item<Data = unknown> {
3
+ $index: number;
4
+ element: HTMLElement;
5
+ data: Data;
6
+ invisible: boolean;
7
+ get: () => ItemAdapter<Data>;
8
+ }
@@ -1,35 +1,35 @@
1
- import { Scroller } from '../scroller';
2
- import { CommonProcess, AdapterProcess, ProcessStatus } from '../processes/index';
3
- import { IDatasourceConstructed } from './datasource';
4
- import { IAdapterInput } from './adapter';
5
- export declare type ProcessName = CommonProcess | AdapterProcess;
6
- export interface ProcessClass {
7
- process: ProcessName;
8
- run: (scroller: Scroller, ...args: any[]) => void;
9
- name: string;
10
- }
11
- export interface ProcessPayload {
12
- process?: ProcessName;
13
- options?: unknown;
14
- event?: Event;
15
- finalize?: boolean;
16
- doClip?: boolean;
17
- doRender?: boolean;
18
- datasource?: IDatasourceConstructed;
19
- error?: unknown;
20
- }
21
- export interface ProcessSubject {
22
- process: ProcessName;
23
- status: ProcessStatus;
24
- payload?: ProcessPayload;
25
- }
26
- export declare type AdapterProcessMap<T> = {
27
- [key in AdapterProcess]: T;
28
- };
29
- export interface IBaseProcess {
30
- new (): any;
31
- process: ProcessName;
32
- }
33
- export interface IBaseAdapterProcess extends IBaseProcess {
34
- parseInput: <T>(scroller: Scroller, options: T, ignoreErrors?: boolean, process?: AdapterProcess) => IAdapterInput<T>;
35
- }
1
+ import { Scroller } from '../scroller';
2
+ import { CommonProcess, AdapterProcess, ProcessStatus } from '../processes/index';
3
+ import { IDatasourceConstructed } from './datasource';
4
+ import { IAdapterInput } from './adapter';
5
+ export declare type ProcessName = CommonProcess | AdapterProcess;
6
+ export interface ProcessClass {
7
+ process: ProcessName;
8
+ run: (scroller: Scroller, ...args: any[]) => void;
9
+ name: string;
10
+ }
11
+ export interface ProcessPayload {
12
+ process?: ProcessName;
13
+ options?: unknown;
14
+ event?: Event;
15
+ finalize?: boolean;
16
+ doClip?: boolean;
17
+ doRender?: boolean;
18
+ datasource?: IDatasourceConstructed;
19
+ error?: unknown;
20
+ }
21
+ export interface ProcessSubject {
22
+ process: ProcessName;
23
+ status: ProcessStatus;
24
+ payload?: ProcessPayload;
25
+ }
26
+ export declare type AdapterProcessMap<T> = {
27
+ [key in AdapterProcess]: T;
28
+ };
29
+ export interface IBaseProcess {
30
+ new (): any;
31
+ process: ProcessName;
32
+ }
33
+ export interface IBaseAdapterProcess extends IBaseProcess {
34
+ parseInput: <T>(scroller: Scroller, options: T, ignoreErrors?: boolean, process?: AdapterProcess) => IAdapterInput<T>;
35
+ }