vscroll 1.7.0 → 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 (250) hide show
  1. package/dist/bundles/vscroll.esm5.js +517 -367
  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 +407 -259
  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 +518 -368
  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 +2 -1
  14. package/dist/esm2015/classes/adapter/context.js.map +1 -1
  15. package/dist/esm2015/classes/adapter/props.js +1 -1
  16. package/dist/esm2015/classes/adapter/props.js.map +1 -1
  17. package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
  18. package/dist/esm2015/classes/adapter.js +17 -18
  19. package/dist/esm2015/classes/adapter.js.map +1 -1
  20. package/dist/esm2015/classes/buffer/cache.js +11 -8
  21. package/dist/esm2015/classes/buffer/cache.js.map +1 -1
  22. package/dist/esm2015/classes/buffer/checkCall.js +4 -5
  23. package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
  24. package/dist/esm2015/classes/buffer/defaultSize.js +2 -1
  25. package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
  26. package/dist/esm2015/classes/buffer.js +12 -11
  27. package/dist/esm2015/classes/buffer.js.map +1 -1
  28. package/dist/esm2015/classes/datasource.js +16 -3
  29. package/dist/esm2015/classes/datasource.js.map +1 -1
  30. package/dist/esm2015/classes/domRoutines.js +14 -14
  31. package/dist/esm2015/classes/domRoutines.js.map +1 -1
  32. package/dist/esm2015/classes/item.js.map +1 -1
  33. package/dist/esm2015/classes/logger.js +74 -31
  34. package/dist/esm2015/classes/logger.js.map +1 -1
  35. package/dist/esm2015/classes/paddings.js +6 -2
  36. package/dist/esm2015/classes/paddings.js.map +1 -1
  37. package/dist/esm2015/classes/reactive.js.map +1 -1
  38. package/dist/esm2015/classes/settings.js.map +1 -1
  39. package/dist/esm2015/classes/state/clip.js.map +1 -1
  40. package/dist/esm2015/classes/state/cycle.js.map +1 -1
  41. package/dist/esm2015/classes/state/fetch.js +4 -2
  42. package/dist/esm2015/classes/state/fetch.js.map +1 -1
  43. package/dist/esm2015/classes/state/render.js.map +1 -1
  44. package/dist/esm2015/classes/state/scroll.js.map +1 -1
  45. package/dist/esm2015/classes/state.js +6 -4
  46. package/dist/esm2015/classes/state.js.map +1 -1
  47. package/dist/esm2015/classes/viewport.js +4 -2
  48. package/dist/esm2015/classes/viewport.js.map +1 -1
  49. package/dist/esm2015/index.js +1 -1
  50. package/dist/esm2015/index.js.map +1 -1
  51. package/dist/esm2015/inputs/adapter.js +44 -24
  52. package/dist/esm2015/inputs/adapter.js.map +1 -1
  53. package/dist/esm2015/inputs/common.js.map +1 -1
  54. package/dist/esm2015/inputs/datasource.js.map +1 -1
  55. package/dist/esm2015/inputs/index.js +1 -1
  56. package/dist/esm2015/inputs/index.js.map +1 -1
  57. package/dist/esm2015/inputs/settings.js +8 -3
  58. package/dist/esm2015/inputs/settings.js.map +1 -1
  59. package/dist/esm2015/inputs/validation.js +8 -14
  60. package/dist/esm2015/inputs/validation.js.map +1 -1
  61. package/dist/esm2015/inputs/workflow.js.map +1 -1
  62. package/dist/esm2015/interfaces/adapter.js.map +1 -1
  63. package/dist/esm2015/interfaces/datasource.js.map +1 -1
  64. package/dist/esm2015/interfaces/index.js.map +1 -1
  65. package/dist/esm2015/interfaces/item.js.map +1 -1
  66. package/dist/esm2015/interfaces/process.js.map +1 -1
  67. package/dist/esm2015/interfaces/routines.js.map +1 -1
  68. package/dist/esm2015/interfaces/settings.js.map +1 -1
  69. package/dist/esm2015/interfaces/state.js.map +1 -1
  70. package/dist/esm2015/interfaces/validation.js.map +1 -1
  71. package/dist/esm2015/interfaces/workflow.js.map +1 -1
  72. package/dist/esm2015/processes/adapter/append.js +2 -1
  73. package/dist/esm2015/processes/adapter/append.js.map +1 -1
  74. package/dist/esm2015/processes/adapter/check.js +2 -1
  75. package/dist/esm2015/processes/adapter/check.js.map +1 -1
  76. package/dist/esm2015/processes/adapter/clip.js.map +1 -1
  77. package/dist/esm2015/processes/adapter/fix.js +4 -2
  78. package/dist/esm2015/processes/adapter/fix.js.map +1 -1
  79. package/dist/esm2015/processes/adapter/insert.js +4 -3
  80. package/dist/esm2015/processes/adapter/insert.js.map +1 -1
  81. package/dist/esm2015/processes/adapter/pause.js.map +1 -1
  82. package/dist/esm2015/processes/adapter/reload.js.map +1 -1
  83. package/dist/esm2015/processes/adapter/remove.js +8 -5
  84. package/dist/esm2015/processes/adapter/remove.js.map +1 -1
  85. package/dist/esm2015/processes/adapter/replace.js +1 -1
  86. package/dist/esm2015/processes/adapter/replace.js.map +1 -1
  87. package/dist/esm2015/processes/adapter/reset.js +5 -5
  88. package/dist/esm2015/processes/adapter/reset.js.map +1 -1
  89. package/dist/esm2015/processes/adapter/update.js +4 -3
  90. package/dist/esm2015/processes/adapter/update.js.map +1 -1
  91. package/dist/esm2015/processes/adjust.js +15 -10
  92. package/dist/esm2015/processes/adjust.js.map +1 -1
  93. package/dist/esm2015/processes/clip.js +4 -4
  94. package/dist/esm2015/processes/clip.js.map +1 -1
  95. package/dist/esm2015/processes/end.js +2 -1
  96. package/dist/esm2015/processes/end.js.map +1 -1
  97. package/dist/esm2015/processes/fetch.js +6 -4
  98. package/dist/esm2015/processes/fetch.js.map +1 -1
  99. package/dist/esm2015/processes/index.js +1 -1
  100. package/dist/esm2015/processes/index.js.map +1 -1
  101. package/dist/esm2015/processes/init.js.map +1 -1
  102. package/dist/esm2015/processes/misc/base.js +1 -2
  103. package/dist/esm2015/processes/misc/base.js.map +1 -1
  104. package/dist/esm2015/processes/misc/enums.js.map +1 -1
  105. package/dist/esm2015/processes/misc/index.js.map +1 -1
  106. package/dist/esm2015/processes/postFetch.js +13 -12
  107. package/dist/esm2015/processes/postFetch.js.map +1 -1
  108. package/dist/esm2015/processes/preClip.js +6 -5
  109. package/dist/esm2015/processes/preClip.js.map +1 -1
  110. package/dist/esm2015/processes/preFetch.js +28 -15
  111. package/dist/esm2015/processes/preFetch.js.map +1 -1
  112. package/dist/esm2015/processes/render.js +6 -4
  113. package/dist/esm2015/processes/render.js.map +1 -1
  114. package/dist/esm2015/processes/scroll.js +19 -10
  115. package/dist/esm2015/processes/scroll.js.map +1 -1
  116. package/dist/esm2015/processes/start.js.map +1 -1
  117. package/dist/esm2015/scroller.js +14 -9
  118. package/dist/esm2015/scroller.js.map +1 -1
  119. package/dist/esm2015/version.js +1 -1
  120. package/dist/esm2015/version.js.map +1 -1
  121. package/dist/esm2015/workflow-transducer.js +3 -2
  122. package/dist/esm2015/workflow-transducer.js.map +1 -1
  123. package/dist/esm2015/workflow.js +28 -17
  124. package/dist/esm2015/workflow.js.map +1 -1
  125. package/dist/esm5/classes/adapter/context.js +2 -1
  126. package/dist/esm5/classes/adapter/context.js.map +1 -1
  127. package/dist/esm5/classes/adapter/props.js +1 -1
  128. package/dist/esm5/classes/adapter/props.js.map +1 -1
  129. package/dist/esm5/classes/adapter/wanted.js.map +1 -1
  130. package/dist/esm5/classes/adapter.js +22 -19
  131. package/dist/esm5/classes/adapter.js.map +1 -1
  132. package/dist/esm5/classes/buffer/cache.js +11 -9
  133. package/dist/esm5/classes/buffer/cache.js.map +1 -1
  134. package/dist/esm5/classes/buffer/checkCall.js +4 -7
  135. package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
  136. package/dist/esm5/classes/buffer/defaultSize.js +2 -1
  137. package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
  138. package/dist/esm5/classes/buffer.js +15 -14
  139. package/dist/esm5/classes/buffer.js.map +1 -1
  140. package/dist/esm5/classes/datasource.js +20 -3
  141. package/dist/esm5/classes/datasource.js.map +1 -1
  142. package/dist/esm5/classes/domRoutines.js +14 -14
  143. package/dist/esm5/classes/domRoutines.js.map +1 -1
  144. package/dist/esm5/classes/item.js.map +1 -1
  145. package/dist/esm5/classes/logger.js +75 -34
  146. package/dist/esm5/classes/logger.js.map +1 -1
  147. package/dist/esm5/classes/paddings.js +6 -2
  148. package/dist/esm5/classes/paddings.js.map +1 -1
  149. package/dist/esm5/classes/reactive.js.map +1 -1
  150. package/dist/esm5/classes/settings.js.map +1 -1
  151. package/dist/esm5/classes/state/clip.js.map +1 -1
  152. package/dist/esm5/classes/state/cycle.js.map +1 -1
  153. package/dist/esm5/classes/state/fetch.js +4 -2
  154. package/dist/esm5/classes/state/fetch.js.map +1 -1
  155. package/dist/esm5/classes/state/render.js.map +1 -1
  156. package/dist/esm5/classes/state/scroll.js.map +1 -1
  157. package/dist/esm5/classes/state.js +6 -4
  158. package/dist/esm5/classes/state.js.map +1 -1
  159. package/dist/esm5/classes/viewport.js +3 -2
  160. package/dist/esm5/classes/viewport.js.map +1 -1
  161. package/dist/esm5/index.js +1 -1
  162. package/dist/esm5/index.js.map +1 -1
  163. package/dist/esm5/inputs/adapter.js +32 -12
  164. package/dist/esm5/inputs/adapter.js.map +1 -1
  165. package/dist/esm5/inputs/common.js.map +1 -1
  166. package/dist/esm5/inputs/datasource.js.map +1 -1
  167. package/dist/esm5/inputs/index.js +1 -1
  168. package/dist/esm5/inputs/index.js.map +1 -1
  169. package/dist/esm5/inputs/settings.js +5 -0
  170. package/dist/esm5/inputs/settings.js.map +1 -1
  171. package/dist/esm5/inputs/validation.js +99 -93
  172. package/dist/esm5/inputs/validation.js.map +1 -1
  173. package/dist/esm5/inputs/workflow.js.map +1 -1
  174. package/dist/esm5/interfaces/adapter.js.map +1 -1
  175. package/dist/esm5/interfaces/datasource.js.map +1 -1
  176. package/dist/esm5/interfaces/index.js.map +1 -1
  177. package/dist/esm5/interfaces/item.js.map +1 -1
  178. package/dist/esm5/interfaces/process.js.map +1 -1
  179. package/dist/esm5/interfaces/routines.js.map +1 -1
  180. package/dist/esm5/interfaces/settings.js.map +1 -1
  181. package/dist/esm5/interfaces/state.js.map +1 -1
  182. package/dist/esm5/interfaces/validation.js.map +1 -1
  183. package/dist/esm5/interfaces/workflow.js.map +1 -1
  184. package/dist/esm5/processes/adapter/append.js +2 -1
  185. package/dist/esm5/processes/adapter/append.js.map +1 -1
  186. package/dist/esm5/processes/adapter/check.js +7 -6
  187. package/dist/esm5/processes/adapter/check.js.map +1 -1
  188. package/dist/esm5/processes/adapter/clip.js.map +1 -1
  189. package/dist/esm5/processes/adapter/fix.js +4 -2
  190. package/dist/esm5/processes/adapter/fix.js.map +1 -1
  191. package/dist/esm5/processes/adapter/insert.js +4 -3
  192. package/dist/esm5/processes/adapter/insert.js.map +1 -1
  193. package/dist/esm5/processes/adapter/pause.js.map +1 -1
  194. package/dist/esm5/processes/adapter/reload.js.map +1 -1
  195. package/dist/esm5/processes/adapter/remove.js +11 -10
  196. package/dist/esm5/processes/adapter/remove.js.map +1 -1
  197. package/dist/esm5/processes/adapter/replace.js +1 -1
  198. package/dist/esm5/processes/adapter/replace.js.map +1 -1
  199. package/dist/esm5/processes/adapter/reset.js +5 -5
  200. package/dist/esm5/processes/adapter/reset.js.map +1 -1
  201. package/dist/esm5/processes/adapter/update.js +20 -15
  202. package/dist/esm5/processes/adapter/update.js.map +1 -1
  203. package/dist/esm5/processes/adjust.js +16 -11
  204. package/dist/esm5/processes/adjust.js.map +1 -1
  205. package/dist/esm5/processes/clip.js +4 -4
  206. package/dist/esm5/processes/clip.js.map +1 -1
  207. package/dist/esm5/processes/end.js +2 -1
  208. package/dist/esm5/processes/end.js.map +1 -1
  209. package/dist/esm5/processes/fetch.js +5 -3
  210. package/dist/esm5/processes/fetch.js.map +1 -1
  211. package/dist/esm5/processes/index.js +1 -1
  212. package/dist/esm5/processes/index.js.map +1 -1
  213. package/dist/esm5/processes/init.js.map +1 -1
  214. package/dist/esm5/processes/misc/base.js +1 -2
  215. package/dist/esm5/processes/misc/base.js.map +1 -1
  216. package/dist/esm5/processes/misc/enums.js.map +1 -1
  217. package/dist/esm5/processes/misc/index.js.map +1 -1
  218. package/dist/esm5/processes/postFetch.js +14 -15
  219. package/dist/esm5/processes/postFetch.js.map +1 -1
  220. package/dist/esm5/processes/preClip.js +5 -4
  221. package/dist/esm5/processes/preClip.js.map +1 -1
  222. package/dist/esm5/processes/preFetch.js +26 -14
  223. package/dist/esm5/processes/preFetch.js.map +1 -1
  224. package/dist/esm5/processes/render.js +7 -7
  225. package/dist/esm5/processes/render.js.map +1 -1
  226. package/dist/esm5/processes/scroll.js +18 -12
  227. package/dist/esm5/processes/scroll.js.map +1 -1
  228. package/dist/esm5/processes/start.js.map +1 -1
  229. package/dist/esm5/scroller.js +11 -7
  230. package/dist/esm5/scroller.js.map +1 -1
  231. package/dist/esm5/version.js +1 -1
  232. package/dist/esm5/version.js.map +1 -1
  233. package/dist/esm5/workflow-transducer.js +3 -2
  234. package/dist/esm5/workflow-transducer.js.map +1 -1
  235. package/dist/esm5/workflow.js +31 -25
  236. package/dist/esm5/workflow.js.map +1 -1
  237. package/dist/typings/classes/buffer/cache.d.ts +0 -1
  238. package/dist/typings/classes/datasource.d.ts +1 -1
  239. package/dist/typings/classes/domRoutines.d.ts +1 -1
  240. package/dist/typings/classes/logger.d.ts +4 -0
  241. package/dist/typings/classes/settings.d.ts +7 -0
  242. package/dist/typings/index.d.ts +2 -2
  243. package/dist/typings/inputs/index.d.ts +1 -1
  244. package/dist/typings/inputs/settings.d.ts +1 -0
  245. package/dist/typings/interfaces/index.d.ts +1 -1
  246. package/dist/typings/interfaces/settings.d.ts +1 -0
  247. package/dist/typings/processes/index.d.ts +1 -1
  248. package/dist/typings/processes/scroll.d.ts +1 -1
  249. package/dist/typings/workflow.d.ts +1 -0
  250. package/package.json +72 -70
@@ -6,5 +6,5 @@ import { INVALID_DATASOURCE_PREFIX } from './scroller';
6
6
  import { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';
7
7
  import { Direction, SizeStrategy } from './inputs/index';
8
8
  // export entities
9
- export { Workflow, makeDatasource, Routines, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy, };
9
+ export { Workflow, makeDatasource, Routines, packageInfo, INVALID_DATASOURCE_PREFIX, AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps, Direction, SizeStrategy };
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAazD,kBAAkB;AAClB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,YAAY,GACb,CAAC","sourcesContent":["import { Workflow } from './workflow';\r\nimport { makeDatasource } from './classes/datasource';\r\nimport { Routines } from './classes/domRoutines';\r\nimport packageInfo from './version';\r\nimport { INVALID_DATASOURCE_PREFIX } from './scroller';\r\nimport { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';\r\nimport { Direction, SizeStrategy } from './inputs/index';\r\n\r\nimport {\r\n IDatasource,\r\n IDatasourceConstructed,\r\n IRoutines,\r\n IReactivePropConfig,\r\n IAdapterConfig,\r\n ItemAdapter,\r\n IAdapter,\r\n Item,\r\n} from './interfaces/index';\r\n\r\n// export entities\r\nexport {\r\n Workflow,\r\n makeDatasource,\r\n Routines,\r\n packageInfo,\r\n INVALID_DATASOURCE_PREFIX,\r\n AdapterPropName,\r\n EMPTY_ITEM,\r\n getDefaultAdapterProps,\r\n Direction,\r\n SizeStrategy,\r\n};\r\n\r\n// export interfaces\r\nexport {\r\n IDatasource,\r\n IDatasourceConstructed,\r\n IRoutines,\r\n IReactivePropConfig,\r\n IAdapterConfig,\r\n ItemAdapter as IAdapterItem,\r\n IAdapter,\r\n Item,\r\n};\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,WAAW,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAazD,kBAAkB;AAClB,OAAO,EACL,QAAQ,EACR,cAAc,EACd,QAAQ,EACR,WAAW,EACX,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,sBAAsB,EACtB,SAAS,EACT,YAAY,EACb,CAAC","sourcesContent":["import { Workflow } from './workflow';\nimport { makeDatasource } from './classes/datasource';\nimport { Routines } from './classes/domRoutines';\nimport packageInfo from './version';\nimport { INVALID_DATASOURCE_PREFIX } from './scroller';\nimport { AdapterPropName, EMPTY_ITEM, getDefaultAdapterProps } from './classes/adapter/props';\nimport { Direction, SizeStrategy } from './inputs/index';\n\nimport {\n IDatasource,\n IDatasourceConstructed,\n IRoutines,\n IReactivePropConfig,\n IAdapterConfig,\n ItemAdapter,\n IAdapter,\n Item\n} from './interfaces/index';\n\n// export entities\nexport {\n Workflow,\n makeDatasource,\n Routines,\n packageInfo,\n INVALID_DATASOURCE_PREFIX,\n AdapterPropName,\n EMPTY_ITEM,\n getDefaultAdapterProps,\n Direction,\n SizeStrategy\n};\n\n// export interfaces\nexport {\n IDatasource,\n IDatasourceConstructed,\n IRoutines,\n IReactivePropConfig,\n IAdapterConfig,\n ItemAdapter as IAdapterItem,\n IAdapter,\n Item\n};\n"]}
@@ -1,7 +1,7 @@
1
1
  import { VALIDATORS } from './validation';
2
2
  import { DatasourceProps as AdapterResetParams } from './datasource';
3
3
  import { AdapterProcess as Process } from '../processes/misc/enums';
4
- const { INTEGER, INTEGER_UNLIMITED, BOOLEAN, OBJECT, ITEM_LIST, FUNC_WITH_X_ARGUMENTS, FUNC_WITH_X_AND_MORE_ARGUMENTS, FUNC_WITH_X_TO_Y_ARGUMENTS, ONE_OF_MUST, ONE_OF_CAN, OR, } = VALIDATORS;
4
+ const { INTEGER, INTEGER_UNLIMITED, BOOLEAN, OBJECT, ITEM_LIST, FUNC_WITH_X_ARGUMENTS, FUNC_WITH_X_AND_MORE_ARGUMENTS, FUNC_WITH_X_TO_Y_ARGUMENTS, ONE_OF_MUST, ONE_OF_CAN, OR } = VALIDATORS;
5
5
  var AdapterNoParams;
6
6
  (function (AdapterNoParams) {
7
7
  })(AdapterNoParams || (AdapterNoParams = {}));
@@ -15,7 +15,7 @@ const RESET_METHOD_PARAMS = {
15
15
  },
16
16
  [AdapterResetParams.devSettings]: {
17
17
  validators: [OBJECT]
18
- },
18
+ }
19
19
  };
20
20
  var AdapterReloadParams;
21
21
  (function (AdapterReloadParams) {
@@ -24,7 +24,7 @@ var AdapterReloadParams;
24
24
  const RELOAD_METHOD_PARAMS = {
25
25
  [AdapterReloadParams.reloadIndex]: {
26
26
  validators: [INTEGER]
27
- },
27
+ }
28
28
  };
29
29
  var AdapterPrependParams;
30
30
  (function (AdapterPrependParams) {
@@ -49,7 +49,7 @@ const PREPEND_METHOD_PARAMS = {
49
49
  [AdapterPrependParams.virtualize]: {
50
50
  validators: [BOOLEAN, ONE_OF_CAN([AdapterPrependParams.bof])],
51
51
  defaultValue: false
52
- },
52
+ }
53
53
  };
54
54
  var AdapterAppendParams;
55
55
  (function (AdapterAppendParams) {
@@ -74,7 +74,7 @@ const APPEND_METHOD_PARAMS = {
74
74
  [AdapterPrependParams.virtualize]: {
75
75
  validators: [BOOLEAN, ONE_OF_CAN([AdapterAppendParams.eof])],
76
76
  defaultValue: false
77
- },
77
+ }
78
78
  };
79
79
  var AdapterRemoveParams;
80
80
  (function (AdapterRemoveParams) {
@@ -92,7 +92,7 @@ const REMOVE_METHOD_PARAMS = {
92
92
  [AdapterRemoveParams.increase]: {
93
93
  validators: [BOOLEAN],
94
94
  defaultValue: false
95
- },
95
+ }
96
96
  };
97
97
  var AdapterClipParams;
98
98
  (function (AdapterClipParams) {
@@ -107,7 +107,7 @@ const CLIP_METHOD_PARAMS = {
107
107
  [AdapterClipParams.forwardOnly]: {
108
108
  validators: [BOOLEAN, ONE_OF_CAN([AdapterClipParams.backwardOnly])],
109
109
  defaultValue: false
110
- },
110
+ }
111
111
  };
112
112
  var AdapterInsertParams;
113
113
  (function (AdapterInsertParams) {
@@ -124,29 +124,49 @@ const INSERT_METHOD_PARAMS = {
124
124
  mandatory: true
125
125
  },
126
126
  [AdapterInsertParams.before]: {
127
- validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([
128
- AdapterInsertParams.after, AdapterInsertParams.beforeIndex, AdapterInsertParams.afterIndex
129
- ])]
127
+ validators: [
128
+ FUNC_WITH_X_ARGUMENTS(1),
129
+ ONE_OF_MUST([
130
+ AdapterInsertParams.after,
131
+ AdapterInsertParams.beforeIndex,
132
+ AdapterInsertParams.afterIndex
133
+ ])
134
+ ]
130
135
  },
131
136
  [AdapterInsertParams.after]: {
132
- validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([
133
- AdapterInsertParams.before, AdapterInsertParams.beforeIndex, AdapterInsertParams.afterIndex
134
- ])]
137
+ validators: [
138
+ FUNC_WITH_X_ARGUMENTS(1),
139
+ ONE_OF_MUST([
140
+ AdapterInsertParams.before,
141
+ AdapterInsertParams.beforeIndex,
142
+ AdapterInsertParams.afterIndex
143
+ ])
144
+ ]
135
145
  },
136
146
  [AdapterInsertParams.beforeIndex]: {
137
- validators: [INTEGER, ONE_OF_MUST([
138
- AdapterInsertParams.before, AdapterInsertParams.after, AdapterInsertParams.afterIndex
139
- ])]
147
+ validators: [
148
+ INTEGER,
149
+ ONE_OF_MUST([
150
+ AdapterInsertParams.before,
151
+ AdapterInsertParams.after,
152
+ AdapterInsertParams.afterIndex
153
+ ])
154
+ ]
140
155
  },
141
156
  [AdapterInsertParams.afterIndex]: {
142
- validators: [INTEGER, ONE_OF_MUST([
143
- AdapterInsertParams.before, AdapterInsertParams.after, AdapterInsertParams.beforeIndex
144
- ])]
157
+ validators: [
158
+ INTEGER,
159
+ ONE_OF_MUST([
160
+ AdapterInsertParams.before,
161
+ AdapterInsertParams.after,
162
+ AdapterInsertParams.beforeIndex
163
+ ])
164
+ ]
145
165
  },
146
166
  [AdapterInsertParams.decrease]: {
147
167
  validators: [BOOLEAN],
148
168
  defaultValue: false
149
- },
169
+ }
150
170
  };
151
171
  var AdapterReplaceParams;
152
172
  (function (AdapterReplaceParams) {
@@ -181,7 +201,7 @@ const UPDATE_METHOD_PARAMS = {
181
201
  [AdapterUpdateParams.fixRight]: {
182
202
  validators: [BOOLEAN],
183
203
  defaultValue: false
184
- },
204
+ }
185
205
  };
186
206
  var AdapterFixParams;
187
207
  (function (AdapterFixParams) {
@@ -210,7 +230,7 @@ const FIX_METHOD_PARAMS = {
210
230
  },
211
231
  [AdapterFixParams.scrollToItemOpt]: {
212
232
  validators: [OR([BOOLEAN, OBJECT])]
213
- },
233
+ }
214
234
  };
215
235
  export const AdapterMethods = {
216
236
  [Process.reset]: AdapterResetParams,
@@ -224,7 +244,7 @@ export const AdapterMethods = {
224
244
  [Process.replace]: AdapterReplaceParams,
225
245
  [Process.update]: AdapterUpdateParams,
226
246
  [Process.pause]: AdapterNoParams,
227
- [Process.fix]: AdapterFixParams,
247
+ [Process.fix]: AdapterFixParams
228
248
  };
229
249
  export const ADAPTER_METHODS = {
230
250
  [Process.reset]: RESET_METHOD_PARAMS,
@@ -238,6 +258,6 @@ export const ADAPTER_METHODS = {
238
258
  [Process.replace]: REPLACE_METHOD_PARAMS,
239
259
  [Process.update]: UPDATE_METHOD_PARAMS,
240
260
  [Process.pause]: NO_METHOD_PARAMS,
241
- [Process.fix]: FIX_METHOD_PARAMS,
261
+ [Process.fix]: FIX_METHOD_PARAMS
242
262
  };
243
263
  //# sourceMappingURL=adapter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/inputs/adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { VALIDATORS } from './validation';\r\nimport { DatasourceProps as AdapterResetParams } from './datasource';\r\nimport { AdapterProcess as Process } from '../processes/misc/enums';\r\nimport { ICommonProps, AdapterProcessMap } from '../interfaces/index';\r\n\r\nconst {\r\n INTEGER,\r\n INTEGER_UNLIMITED,\r\n BOOLEAN,\r\n OBJECT,\r\n ITEM_LIST,\r\n FUNC_WITH_X_ARGUMENTS,\r\n FUNC_WITH_X_AND_MORE_ARGUMENTS,\r\n FUNC_WITH_X_TO_Y_ARGUMENTS,\r\n ONE_OF_MUST,\r\n ONE_OF_CAN,\r\n OR,\r\n} = VALIDATORS;\r\n\r\nenum AdapterNoParams { }\r\nconst NO_METHOD_PARAMS: ICommonProps<AdapterNoParams> = {};\r\n\r\nconst RESET_METHOD_PARAMS: ICommonProps<AdapterResetParams> = {\r\n [AdapterResetParams.get]: {\r\n validators: [FUNC_WITH_X_AND_MORE_ARGUMENTS(2)]\r\n },\r\n [AdapterResetParams.settings]: {\r\n validators: [OBJECT]\r\n },\r\n [AdapterResetParams.devSettings]: {\r\n validators: [OBJECT]\r\n },\r\n};\r\n\r\nenum AdapterReloadParams {\r\n reloadIndex = 'reloadIndex',\r\n}\r\n\r\nconst RELOAD_METHOD_PARAMS: ICommonProps<AdapterReloadParams> = {\r\n [AdapterReloadParams.reloadIndex]: {\r\n validators: [INTEGER]\r\n },\r\n};\r\n\r\nenum AdapterPrependParams {\r\n items = 'items',\r\n bof = 'bof',\r\n increase = 'increase',\r\n virtualize = 'virtualize',\r\n}\r\n\r\nconst PREPEND_METHOD_PARAMS: ICommonProps<AdapterPrependParams> = {\r\n [AdapterPrependParams.items]: {\r\n validators: [ITEM_LIST],\r\n mandatory: true\r\n },\r\n [AdapterPrependParams.bof]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterPrependParams.virtualize])],\r\n defaultValue: false\r\n },\r\n [AdapterPrependParams.increase]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [AdapterPrependParams.virtualize]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterPrependParams.bof])],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterAppendParams {\r\n items = 'items',\r\n eof = 'eof',\r\n decrease = 'decrease',\r\n virtualize = 'virtualize',\r\n}\r\n\r\nconst APPEND_METHOD_PARAMS: ICommonProps<AdapterAppendParams> = {\r\n [AdapterAppendParams.items]: {\r\n validators: [ITEM_LIST],\r\n mandatory: true\r\n },\r\n [AdapterAppendParams.eof]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterAppendParams.virtualize])],\r\n defaultValue: false\r\n },\r\n [AdapterAppendParams.decrease]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [AdapterPrependParams.virtualize]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterAppendParams.eof])],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterRemoveParams {\r\n predicate = 'predicate',\r\n indexes = 'indexes',\r\n increase = 'increase',\r\n}\r\n\r\nconst REMOVE_METHOD_PARAMS: ICommonProps<AdapterRemoveParams> = {\r\n [AdapterRemoveParams.predicate]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([AdapterRemoveParams.indexes])]\r\n },\r\n [AdapterRemoveParams.indexes]: {\r\n validators: [ITEM_LIST, ONE_OF_MUST([AdapterRemoveParams.predicate])]\r\n },\r\n [AdapterRemoveParams.increase]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterClipParams {\r\n backwardOnly = 'backwardOnly',\r\n forwardOnly = 'forwardOnly',\r\n}\r\n\r\nconst CLIP_METHOD_PARAMS: ICommonProps<AdapterClipParams> = {\r\n [AdapterClipParams.backwardOnly]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterClipParams.forwardOnly])],\r\n defaultValue: false\r\n },\r\n [AdapterClipParams.forwardOnly]: {\r\n validators: [BOOLEAN, ONE_OF_CAN([AdapterClipParams.backwardOnly])],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterInsertParams {\r\n items = 'items',\r\n before = 'before',\r\n after = 'after',\r\n beforeIndex = 'beforeIndex',\r\n afterIndex = 'afterIndex',\r\n decrease = 'decrease',\r\n}\r\n\r\nconst INSERT_METHOD_PARAMS: ICommonProps<AdapterInsertParams> = {\r\n [AdapterInsertParams.items]: {\r\n validators: [ITEM_LIST],\r\n mandatory: true\r\n },\r\n [AdapterInsertParams.before]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([\r\n AdapterInsertParams.after, AdapterInsertParams.beforeIndex, AdapterInsertParams.afterIndex\r\n ])]\r\n },\r\n [AdapterInsertParams.after]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([\r\n AdapterInsertParams.before, AdapterInsertParams.beforeIndex, AdapterInsertParams.afterIndex\r\n ])]\r\n },\r\n [AdapterInsertParams.beforeIndex]: {\r\n validators: [INTEGER, ONE_OF_MUST([\r\n AdapterInsertParams.before, AdapterInsertParams.after, AdapterInsertParams.afterIndex\r\n ])]\r\n },\r\n [AdapterInsertParams.afterIndex]: {\r\n validators: [INTEGER, ONE_OF_MUST([\r\n AdapterInsertParams.before, AdapterInsertParams.after, AdapterInsertParams.beforeIndex\r\n ])]\r\n },\r\n [AdapterInsertParams.decrease]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterReplaceParams {\r\n items = 'items',\r\n predicate = 'predicate',\r\n fixRight = 'fixRight',\r\n}\r\n\r\nconst REPLACE_METHOD_PARAMS: ICommonProps<AdapterReplaceParams> = {\r\n [AdapterInsertParams.items]: {\r\n validators: [ITEM_LIST],\r\n mandatory: true\r\n },\r\n [AdapterReplaceParams.predicate]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\r\n mandatory: true\r\n },\r\n [AdapterReplaceParams.fixRight]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n }\r\n};\r\n\r\nenum AdapterUpdateParams {\r\n predicate = 'predicate',\r\n fixRight = 'fixRight',\r\n}\r\n\r\nconst UPDATE_METHOD_PARAMS: ICommonProps<AdapterUpdateParams> = {\r\n [AdapterUpdateParams.predicate]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\r\n mandatory: true\r\n },\r\n [AdapterUpdateParams.fixRight]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n};\r\n\r\nenum AdapterFixParams {\r\n scrollPosition = 'scrollPosition',\r\n minIndex = 'minIndex',\r\n maxIndex = 'maxIndex',\r\n updater = 'updater',\r\n scrollToItem = 'scrollToItem',\r\n scrollToItemOpt = 'scrollToItemOpt',\r\n}\r\n\r\nconst FIX_METHOD_PARAMS: ICommonProps<AdapterFixParams> = {\r\n [AdapterFixParams.scrollPosition]: {\r\n validators: [INTEGER_UNLIMITED]\r\n },\r\n [AdapterFixParams.minIndex]: {\r\n validators: [INTEGER_UNLIMITED]\r\n },\r\n [AdapterFixParams.maxIndex]: {\r\n validators: [INTEGER_UNLIMITED]\r\n },\r\n [AdapterFixParams.updater]: {\r\n validators: [FUNC_WITH_X_TO_Y_ARGUMENTS(1, 2)]\r\n },\r\n [AdapterFixParams.scrollToItem]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1)]\r\n },\r\n [AdapterFixParams.scrollToItemOpt]: {\r\n validators: [OR([BOOLEAN, OBJECT])]\r\n },\r\n};\r\n\r\nexport const AdapterMethods: AdapterProcessMap<{ [key: string]: string }> = {\r\n [Process.reset]: AdapterResetParams,\r\n [Process.reload]: AdapterReloadParams,\r\n [Process.prepend]: AdapterPrependParams,\r\n [Process.append]: AdapterAppendParams,\r\n [Process.check]: AdapterNoParams,\r\n [Process.remove]: AdapterRemoveParams,\r\n [Process.clip]: AdapterClipParams,\r\n [Process.insert]: AdapterInsertParams,\r\n [Process.replace]: AdapterReplaceParams,\r\n [Process.update]: AdapterUpdateParams,\r\n [Process.pause]: AdapterNoParams,\r\n [Process.fix]: AdapterFixParams,\r\n};\r\n\r\nexport const ADAPTER_METHODS: AdapterProcessMap<ICommonProps<PropertyKey>> = {\r\n [Process.reset]: RESET_METHOD_PARAMS,\r\n [Process.reload]: RELOAD_METHOD_PARAMS,\r\n [Process.prepend]: PREPEND_METHOD_PARAMS,\r\n [Process.append]: APPEND_METHOD_PARAMS,\r\n [Process.check]: NO_METHOD_PARAMS,\r\n [Process.remove]: REMOVE_METHOD_PARAMS,\r\n [Process.clip]: CLIP_METHOD_PARAMS,\r\n [Process.insert]: INSERT_METHOD_PARAMS,\r\n [Process.replace]: REPLACE_METHOD_PARAMS,\r\n [Process.update]: UPDATE_METHOD_PARAMS,\r\n [Process.pause]: NO_METHOD_PARAMS,\r\n [Process.fix]: FIX_METHOD_PARAMS,\r\n};\r\n"]}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/inputs/adapter.ts"],"names":[],"mappings":"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","sourcesContent":["import { VALIDATORS } from './validation';\nimport { DatasourceProps as AdapterResetParams } from './datasource';\nimport { AdapterProcess as Process } from '../processes/misc/enums';\nimport { ICommonProps, AdapterProcessMap } from '../interfaces/index';\n\nconst {\n INTEGER,\n INTEGER_UNLIMITED,\n BOOLEAN,\n OBJECT,\n ITEM_LIST,\n FUNC_WITH_X_ARGUMENTS,\n FUNC_WITH_X_AND_MORE_ARGUMENTS,\n FUNC_WITH_X_TO_Y_ARGUMENTS,\n ONE_OF_MUST,\n ONE_OF_CAN,\n OR\n} = VALIDATORS;\n\nenum AdapterNoParams {}\nconst NO_METHOD_PARAMS: ICommonProps<AdapterNoParams> = {};\n\nconst RESET_METHOD_PARAMS: ICommonProps<AdapterResetParams> = {\n [AdapterResetParams.get]: {\n validators: [FUNC_WITH_X_AND_MORE_ARGUMENTS(2)]\n },\n [AdapterResetParams.settings]: {\n validators: [OBJECT]\n },\n [AdapterResetParams.devSettings]: {\n validators: [OBJECT]\n }\n};\n\nenum AdapterReloadParams {\n reloadIndex = 'reloadIndex'\n}\n\nconst RELOAD_METHOD_PARAMS: ICommonProps<AdapterReloadParams> = {\n [AdapterReloadParams.reloadIndex]: {\n validators: [INTEGER]\n }\n};\n\nenum AdapterPrependParams {\n items = 'items',\n bof = 'bof',\n increase = 'increase',\n virtualize = 'virtualize'\n}\n\nconst PREPEND_METHOD_PARAMS: ICommonProps<AdapterPrependParams> = {\n [AdapterPrependParams.items]: {\n validators: [ITEM_LIST],\n mandatory: true\n },\n [AdapterPrependParams.bof]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterPrependParams.virtualize])],\n defaultValue: false\n },\n [AdapterPrependParams.increase]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [AdapterPrependParams.virtualize]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterPrependParams.bof])],\n defaultValue: false\n }\n};\n\nenum AdapterAppendParams {\n items = 'items',\n eof = 'eof',\n decrease = 'decrease',\n virtualize = 'virtualize'\n}\n\nconst APPEND_METHOD_PARAMS: ICommonProps<AdapterAppendParams> = {\n [AdapterAppendParams.items]: {\n validators: [ITEM_LIST],\n mandatory: true\n },\n [AdapterAppendParams.eof]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterAppendParams.virtualize])],\n defaultValue: false\n },\n [AdapterAppendParams.decrease]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [AdapterPrependParams.virtualize]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterAppendParams.eof])],\n defaultValue: false\n }\n};\n\nenum AdapterRemoveParams {\n predicate = 'predicate',\n indexes = 'indexes',\n increase = 'increase'\n}\n\nconst REMOVE_METHOD_PARAMS: ICommonProps<AdapterRemoveParams> = {\n [AdapterRemoveParams.predicate]: {\n validators: [FUNC_WITH_X_ARGUMENTS(1), ONE_OF_MUST([AdapterRemoveParams.indexes])]\n },\n [AdapterRemoveParams.indexes]: {\n validators: [ITEM_LIST, ONE_OF_MUST([AdapterRemoveParams.predicate])]\n },\n [AdapterRemoveParams.increase]: {\n validators: [BOOLEAN],\n defaultValue: false\n }\n};\n\nenum AdapterClipParams {\n backwardOnly = 'backwardOnly',\n forwardOnly = 'forwardOnly'\n}\n\nconst CLIP_METHOD_PARAMS: ICommonProps<AdapterClipParams> = {\n [AdapterClipParams.backwardOnly]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterClipParams.forwardOnly])],\n defaultValue: false\n },\n [AdapterClipParams.forwardOnly]: {\n validators: [BOOLEAN, ONE_OF_CAN([AdapterClipParams.backwardOnly])],\n defaultValue: false\n }\n};\n\nenum AdapterInsertParams {\n items = 'items',\n before = 'before',\n after = 'after',\n beforeIndex = 'beforeIndex',\n afterIndex = 'afterIndex',\n decrease = 'decrease'\n}\n\nconst INSERT_METHOD_PARAMS: ICommonProps<AdapterInsertParams> = {\n [AdapterInsertParams.items]: {\n validators: [ITEM_LIST],\n mandatory: true\n },\n [AdapterInsertParams.before]: {\n validators: [\n FUNC_WITH_X_ARGUMENTS(1),\n ONE_OF_MUST([\n AdapterInsertParams.after,\n AdapterInsertParams.beforeIndex,\n AdapterInsertParams.afterIndex\n ])\n ]\n },\n [AdapterInsertParams.after]: {\n validators: [\n FUNC_WITH_X_ARGUMENTS(1),\n ONE_OF_MUST([\n AdapterInsertParams.before,\n AdapterInsertParams.beforeIndex,\n AdapterInsertParams.afterIndex\n ])\n ]\n },\n [AdapterInsertParams.beforeIndex]: {\n validators: [\n INTEGER,\n ONE_OF_MUST([\n AdapterInsertParams.before,\n AdapterInsertParams.after,\n AdapterInsertParams.afterIndex\n ])\n ]\n },\n [AdapterInsertParams.afterIndex]: {\n validators: [\n INTEGER,\n ONE_OF_MUST([\n AdapterInsertParams.before,\n AdapterInsertParams.after,\n AdapterInsertParams.beforeIndex\n ])\n ]\n },\n [AdapterInsertParams.decrease]: {\n validators: [BOOLEAN],\n defaultValue: false\n }\n};\n\nenum AdapterReplaceParams {\n items = 'items',\n predicate = 'predicate',\n fixRight = 'fixRight'\n}\n\nconst REPLACE_METHOD_PARAMS: ICommonProps<AdapterReplaceParams> = {\n [AdapterInsertParams.items]: {\n validators: [ITEM_LIST],\n mandatory: true\n },\n [AdapterReplaceParams.predicate]: {\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\n mandatory: true\n },\n [AdapterReplaceParams.fixRight]: {\n validators: [BOOLEAN],\n defaultValue: false\n }\n};\n\nenum AdapterUpdateParams {\n predicate = 'predicate',\n fixRight = 'fixRight'\n}\n\nconst UPDATE_METHOD_PARAMS: ICommonProps<AdapterUpdateParams> = {\n [AdapterUpdateParams.predicate]: {\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\n mandatory: true\n },\n [AdapterUpdateParams.fixRight]: {\n validators: [BOOLEAN],\n defaultValue: false\n }\n};\n\nenum AdapterFixParams {\n scrollPosition = 'scrollPosition',\n minIndex = 'minIndex',\n maxIndex = 'maxIndex',\n updater = 'updater',\n scrollToItem = 'scrollToItem',\n scrollToItemOpt = 'scrollToItemOpt'\n}\n\nconst FIX_METHOD_PARAMS: ICommonProps<AdapterFixParams> = {\n [AdapterFixParams.scrollPosition]: {\n validators: [INTEGER_UNLIMITED]\n },\n [AdapterFixParams.minIndex]: {\n validators: [INTEGER_UNLIMITED]\n },\n [AdapterFixParams.maxIndex]: {\n validators: [INTEGER_UNLIMITED]\n },\n [AdapterFixParams.updater]: {\n validators: [FUNC_WITH_X_TO_Y_ARGUMENTS(1, 2)]\n },\n [AdapterFixParams.scrollToItem]: {\n validators: [FUNC_WITH_X_ARGUMENTS(1)]\n },\n [AdapterFixParams.scrollToItemOpt]: {\n validators: [OR([BOOLEAN, OBJECT])]\n }\n};\n\nexport const AdapterMethods: AdapterProcessMap<{ [key: string]: string }> = {\n [Process.reset]: AdapterResetParams,\n [Process.reload]: AdapterReloadParams,\n [Process.prepend]: AdapterPrependParams,\n [Process.append]: AdapterAppendParams,\n [Process.check]: AdapterNoParams,\n [Process.remove]: AdapterRemoveParams,\n [Process.clip]: AdapterClipParams,\n [Process.insert]: AdapterInsertParams,\n [Process.replace]: AdapterReplaceParams,\n [Process.update]: AdapterUpdateParams,\n [Process.pause]: AdapterNoParams,\n [Process.fix]: AdapterFixParams\n};\n\nexport const ADAPTER_METHODS: AdapterProcessMap<ICommonProps<PropertyKey>> = {\n [Process.reset]: RESET_METHOD_PARAMS,\n [Process.reload]: RELOAD_METHOD_PARAMS,\n [Process.prepend]: PREPEND_METHOD_PARAMS,\n [Process.append]: APPEND_METHOD_PARAMS,\n [Process.check]: NO_METHOD_PARAMS,\n [Process.remove]: REMOVE_METHOD_PARAMS,\n [Process.clip]: CLIP_METHOD_PARAMS,\n [Process.insert]: INSERT_METHOD_PARAMS,\n [Process.replace]: REPLACE_METHOD_PARAMS,\n [Process.update]: UPDATE_METHOD_PARAMS,\n [Process.pause]: NO_METHOD_PARAMS,\n [Process.fix]: FIX_METHOD_PARAMS\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/inputs/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["export enum Direction {\r\n forward = 'forward',\r\n backward = 'backward'\r\n}\r\n\r\nexport enum SizeStrategy {\r\n Average = 'average',\r\n Constant = 'constant',\r\n Frequent = 'frequent'\r\n}\r\n"]}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/inputs/common.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;AACvB,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AAED,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,qCAAqB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["export enum Direction {\n forward = 'forward',\n backward = 'backward'\n}\n\nexport enum SizeStrategy {\n Average = 'average',\n Constant = 'constant',\n Frequent = 'frequent'\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/inputs/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,GAAG,UAAU,CAAC;AAE9D,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;AAC7B,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAC,MAAM,UAAU,GAAkC;IACvD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QACrB,UAAU,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC/C,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC1B,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;QAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;CACF,CAAC","sourcesContent":["import { VALIDATORS } from './validation';\r\nimport { ICommonProps } from '../interfaces/index';\r\n\r\nconst { OBJECT, FUNC_WITH_X_AND_MORE_ARGUMENTS } = VALIDATORS;\r\n\r\nexport enum DatasourceProps {\r\n get = 'get',\r\n settings = 'settings',\r\n devSettings = 'devSettings',\r\n}\r\n\r\nexport const DATASOURCE: ICommonProps<DatasourceProps> = {\r\n [DatasourceProps.get]: {\r\n validators: [FUNC_WITH_X_AND_MORE_ARGUMENTS(2)],\r\n mandatory: true\r\n },\r\n [DatasourceProps.settings]: {\r\n validators: [OBJECT]\r\n },\r\n [DatasourceProps.devSettings]: {\r\n validators: [OBJECT]\r\n }\r\n};\r\n"]}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/inputs/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,EAAE,MAAM,EAAE,8BAA8B,EAAE,GAAG,UAAU,CAAC;AAE9D,MAAM,CAAN,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,8BAAW,CAAA;IACX,wCAAqB,CAAA;IACrB,8CAA2B,CAAA;AAC7B,CAAC,EAJW,eAAe,KAAf,eAAe,QAI1B;AAED,MAAM,CAAC,MAAM,UAAU,GAAkC;IACvD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QACrB,UAAU,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC;QAC/C,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE;QAC1B,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE;QAC7B,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;CACF,CAAC","sourcesContent":["import { VALIDATORS } from './validation';\nimport { ICommonProps } from '../interfaces/index';\n\nconst { OBJECT, FUNC_WITH_X_AND_MORE_ARGUMENTS } = VALIDATORS;\n\nexport enum DatasourceProps {\n get = 'get',\n settings = 'settings',\n devSettings = 'devSettings'\n}\n\nexport const DATASOURCE: ICommonProps<DatasourceProps> = {\n [DatasourceProps.get]: {\n validators: [FUNC_WITH_X_AND_MORE_ARGUMENTS(2)],\n mandatory: true\n },\n [DatasourceProps.settings]: {\n validators: [OBJECT]\n },\n [DatasourceProps.devSettings]: {\n validators: [OBJECT]\n }\n};\n"]}
@@ -4,5 +4,5 @@ import { DatasourceProps, DATASOURCE } from './datasource';
4
4
  import { SETTINGS, DEV_SETTINGS } from './settings';
5
5
  import { AdapterMethods, ADAPTER_METHODS } from './adapter';
6
6
  import { WORKFLOW } from './workflow';
7
- export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, WORKFLOW, };
7
+ export { Direction, SizeStrategy, ValidatorType, VALIDATORS, validateOne, validate, DatasourceProps, DATASOURCE, SETTINGS, DEV_SETTINGS, AdapterMethods, ADAPTER_METHODS, WORKFLOW };
8
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,QAAQ,GACT,CAAC","sourcesContent":["import { Direction, SizeStrategy } from './common';\r\nimport { ValidatorType, VALIDATORS, validateOne, validate } from './validation';\r\nimport { DatasourceProps, DATASOURCE } from './datasource';\r\nimport { SETTINGS, DEV_SETTINGS } from './settings';\r\nimport { AdapterMethods, ADAPTER_METHODS } from './adapter';\r\nimport { WORKFLOW } from './workflow';\r\n\r\nexport {\r\n Direction,\r\n SizeStrategy,\r\n ValidatorType,\r\n VALIDATORS,\r\n validateOne,\r\n validate,\r\n DatasourceProps,\r\n DATASOURCE,\r\n SETTINGS,\r\n DEV_SETTINGS,\r\n AdapterMethods,\r\n ADAPTER_METHODS,\r\n WORKFLOW,\r\n};\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/inputs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,QAAQ,EACR,eAAe,EACf,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,QAAQ,EACT,CAAC","sourcesContent":["import { Direction, SizeStrategy } from './common';\nimport { ValidatorType, VALIDATORS, validateOne, validate } from './validation';\nimport { DatasourceProps, DATASOURCE } from './datasource';\nimport { SETTINGS, DEV_SETTINGS } from './settings';\nimport { AdapterMethods, ADAPTER_METHODS } from './adapter';\nimport { WORKFLOW } from './workflow';\n\nexport {\n Direction,\n SizeStrategy,\n ValidatorType,\n VALIDATORS,\n validateOne,\n validate,\n DatasourceProps,\n DATASOURCE,\n SETTINGS,\n DEV_SETTINGS,\n AdapterMethods,\n ADAPTER_METHODS,\n WORKFLOW\n};\n"]}
@@ -24,6 +24,7 @@ var DevSettings;
24
24
  DevSettings["immediateLog"] = "immediateLog";
25
25
  DevSettings["logProcessRun"] = "logProcessRun";
26
26
  DevSettings["logTime"] = "logTime";
27
+ DevSettings["logColor"] = "logColor";
27
28
  DevSettings["throttle"] = "throttle";
28
29
  DevSettings["initDelay"] = "initDelay";
29
30
  DevSettings["initWindowDelay"] = "initWindowDelay";
@@ -38,7 +39,7 @@ export const MIN = {
38
39
  [Settings.padding]: 0.01,
39
40
  [DevSettings.throttle]: 0,
40
41
  [DevSettings.initDelay]: 0,
41
- [DevSettings.initWindowDelay]: 0,
42
+ [DevSettings.initWindowDelay]: 0
42
43
  };
43
44
  export const SETTINGS = {
44
45
  [Settings.adapter]: {
@@ -96,7 +97,7 @@ export const SETTINGS = {
96
97
  [Settings.sizeStrategy]: {
97
98
  validators: [ENUM(SizeStrategy)],
98
99
  defaultValue: SizeStrategy.Average
99
- },
100
+ }
100
101
  };
101
102
  export const DEV_SETTINGS = {
102
103
  [DevSettings.debug]: {
@@ -115,6 +116,10 @@ export const DEV_SETTINGS = {
115
116
  validators: [BOOLEAN],
116
117
  defaultValue: false
117
118
  },
119
+ [DevSettings.logColor]: {
120
+ validators: [BOOLEAN],
121
+ defaultValue: true
122
+ },
118
123
  [DevSettings.throttle]: {
119
124
  validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.throttle], true)],
120
125
  defaultValue: 40
@@ -142,6 +147,6 @@ export const DEV_SETTINGS = {
142
147
  [DevSettings.directionPriority]: {
143
148
  validators: [ENUM(Direction)],
144
149
  defaultValue: Direction.backward
145
- },
150
+ }
146
151
  };
147
152
  //# sourceMappingURL=settings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/inputs/settings.ts"],"names":[],"mappings":"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","sourcesContent":["import { VALIDATORS } from './validation';\r\nimport { ICommonProps } from '../interfaces/index';\r\nimport { SizeStrategy, Direction } from './common';\r\n\r\nconst { NUMBER, INTEGER, INTEGER_UNLIMITED, MORE_OR_EQUAL, BOOLEAN, ELEMENT, FUNC, OR, ENUM } = VALIDATORS;\r\n\r\nenum Settings {\r\n adapter = 'adapter',\r\n startIndex = 'startIndex',\r\n minIndex = 'minIndex',\r\n maxIndex = 'maxIndex',\r\n itemSize = 'itemSize',\r\n bufferSize = 'bufferSize',\r\n padding = 'padding',\r\n infinite = 'infinite',\r\n horizontal = 'horizontal',\r\n windowViewport = 'windowViewport',\r\n viewportElement = 'viewportElement',\r\n inverse = 'inverse',\r\n onBeforeClip = 'onBeforeClip',\r\n sizeStrategy = 'sizeStrategy',\r\n}\r\n\r\nenum DevSettings {\r\n debug = 'debug',\r\n immediateLog = 'immediateLog',\r\n logProcessRun = 'logProcessRun',\r\n logTime = 'logTime',\r\n throttle = 'throttle',\r\n initDelay = 'initDelay',\r\n initWindowDelay = 'initWindowDelay',\r\n cacheData = 'cacheData',\r\n cacheOnReload = 'cacheOnReload',\r\n dismissOverflowAnchor = 'dismissOverflowAnchor',\r\n directionPriority = 'directionPriority',\r\n}\r\n\r\nexport const MIN = {\r\n [Settings.itemSize]: 1,\r\n [Settings.bufferSize]: 1,\r\n [Settings.padding]: 0.01,\r\n [DevSettings.throttle]: 0,\r\n [DevSettings.initDelay]: 0,\r\n [DevSettings.initWindowDelay]: 0,\r\n};\r\n\r\nexport const SETTINGS: ICommonProps<Settings> = {\r\n [Settings.adapter]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [Settings.startIndex]: {\r\n validators: [INTEGER],\r\n defaultValue: 1\r\n },\r\n [Settings.minIndex]: {\r\n validators: [INTEGER_UNLIMITED],\r\n defaultValue: -Infinity\r\n },\r\n [Settings.maxIndex]: {\r\n validators: [INTEGER_UNLIMITED],\r\n defaultValue: Infinity\r\n },\r\n [Settings.itemSize]: {\r\n validators: [INTEGER, MORE_OR_EQUAL(MIN[Settings.itemSize], true)],\r\n defaultValue: NaN\r\n },\r\n [Settings.bufferSize]: {\r\n validators: [INTEGER, MORE_OR_EQUAL(MIN[Settings.bufferSize], true)],\r\n defaultValue: 5\r\n },\r\n [Settings.padding]: {\r\n validators: [NUMBER, MORE_OR_EQUAL(MIN[Settings.padding], true)],\r\n defaultValue: 0.5\r\n },\r\n [Settings.infinite]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [Settings.horizontal]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [Settings.windowViewport]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [Settings.viewportElement]: {\r\n validators: [OR([ELEMENT, FUNC])],\r\n defaultValue: null\r\n },\r\n [Settings.inverse]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [Settings.onBeforeClip]: {\r\n validators: [FUNC],\r\n defaultValue: null\r\n },\r\n [Settings.sizeStrategy]: {\r\n validators: [ENUM(SizeStrategy)],\r\n defaultValue: SizeStrategy.Average\r\n },\r\n};\r\n\r\nexport const DEV_SETTINGS: ICommonProps<DevSettings> = {\r\n [DevSettings.debug]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [DevSettings.immediateLog]: {\r\n validators: [BOOLEAN],\r\n defaultValue: true\r\n },\r\n [DevSettings.logProcessRun]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [DevSettings.logTime]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [DevSettings.throttle]: {\r\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.throttle], true)],\r\n defaultValue: 40\r\n },\r\n [DevSettings.initDelay]: {\r\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.initDelay], true)],\r\n defaultValue: 1\r\n },\r\n [DevSettings.initWindowDelay]: {\r\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.initWindowDelay], true)],\r\n defaultValue: 40\r\n },\r\n [DevSettings.cacheData]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [DevSettings.cacheOnReload]: {\r\n validators: [BOOLEAN],\r\n defaultValue: false\r\n },\r\n [DevSettings.dismissOverflowAnchor]: {\r\n validators: [BOOLEAN],\r\n defaultValue: true\r\n },\r\n [DevSettings.directionPriority]: {\r\n validators: [ENUM(Direction)],\r\n defaultValue: Direction.backward\r\n },\r\n};\r\n"]}
1
+ {"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/inputs/settings.ts"],"names":[],"mappings":"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","sourcesContent":["import { VALIDATORS } from './validation';\nimport { ICommonProps } from '../interfaces/index';\nimport { SizeStrategy, Direction } from './common';\n\nconst { NUMBER, INTEGER, INTEGER_UNLIMITED, MORE_OR_EQUAL, BOOLEAN, ELEMENT, FUNC, OR, ENUM } =\n VALIDATORS;\n\nenum Settings {\n adapter = 'adapter',\n startIndex = 'startIndex',\n minIndex = 'minIndex',\n maxIndex = 'maxIndex',\n itemSize = 'itemSize',\n bufferSize = 'bufferSize',\n padding = 'padding',\n infinite = 'infinite',\n horizontal = 'horizontal',\n windowViewport = 'windowViewport',\n viewportElement = 'viewportElement',\n inverse = 'inverse',\n onBeforeClip = 'onBeforeClip',\n sizeStrategy = 'sizeStrategy'\n}\n\nenum DevSettings {\n debug = 'debug',\n immediateLog = 'immediateLog',\n logProcessRun = 'logProcessRun',\n logTime = 'logTime',\n logColor = 'logColor',\n throttle = 'throttle',\n initDelay = 'initDelay',\n initWindowDelay = 'initWindowDelay',\n cacheData = 'cacheData',\n cacheOnReload = 'cacheOnReload',\n dismissOverflowAnchor = 'dismissOverflowAnchor',\n directionPriority = 'directionPriority'\n}\n\nexport const MIN = {\n [Settings.itemSize]: 1,\n [Settings.bufferSize]: 1,\n [Settings.padding]: 0.01,\n [DevSettings.throttle]: 0,\n [DevSettings.initDelay]: 0,\n [DevSettings.initWindowDelay]: 0\n};\n\nexport const SETTINGS: ICommonProps<Settings> = {\n [Settings.adapter]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [Settings.startIndex]: {\n validators: [INTEGER],\n defaultValue: 1\n },\n [Settings.minIndex]: {\n validators: [INTEGER_UNLIMITED],\n defaultValue: -Infinity\n },\n [Settings.maxIndex]: {\n validators: [INTEGER_UNLIMITED],\n defaultValue: Infinity\n },\n [Settings.itemSize]: {\n validators: [INTEGER, MORE_OR_EQUAL(MIN[Settings.itemSize], true)],\n defaultValue: NaN\n },\n [Settings.bufferSize]: {\n validators: [INTEGER, MORE_OR_EQUAL(MIN[Settings.bufferSize], true)],\n defaultValue: 5\n },\n [Settings.padding]: {\n validators: [NUMBER, MORE_OR_EQUAL(MIN[Settings.padding], true)],\n defaultValue: 0.5\n },\n [Settings.infinite]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [Settings.horizontal]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [Settings.windowViewport]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [Settings.viewportElement]: {\n validators: [OR([ELEMENT, FUNC])],\n defaultValue: null\n },\n [Settings.inverse]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [Settings.onBeforeClip]: {\n validators: [FUNC],\n defaultValue: null\n },\n [Settings.sizeStrategy]: {\n validators: [ENUM(SizeStrategy)],\n defaultValue: SizeStrategy.Average\n }\n};\n\nexport const DEV_SETTINGS: ICommonProps<DevSettings> = {\n [DevSettings.debug]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [DevSettings.immediateLog]: {\n validators: [BOOLEAN],\n defaultValue: true\n },\n [DevSettings.logProcessRun]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [DevSettings.logTime]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [DevSettings.logColor]: {\n validators: [BOOLEAN],\n defaultValue: true\n },\n [DevSettings.throttle]: {\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.throttle], true)],\n defaultValue: 40\n },\n [DevSettings.initDelay]: {\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.initDelay], true)],\n defaultValue: 1\n },\n [DevSettings.initWindowDelay]: {\n validators: [INTEGER, MORE_OR_EQUAL(MIN[DevSettings.initWindowDelay], true)],\n defaultValue: 40\n },\n [DevSettings.cacheData]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [DevSettings.cacheOnReload]: {\n validators: [BOOLEAN],\n defaultValue: false\n },\n [DevSettings.dismissOverflowAnchor]: {\n validators: [BOOLEAN],\n defaultValue: true\n },\n [DevSettings.directionPriority]: {\n validators: [ENUM(Direction)],\n defaultValue: Direction.backward\n }\n};\n"]}
@@ -18,9 +18,7 @@ export var ValidatorType;
18
18
  ValidatorType["enum"] = "must belong to {arg1} list";
19
19
  })(ValidatorType || (ValidatorType = {}));
20
20
  const getError = (msg, args) => (args || ['']).reduce((acc, arg, index) => acc.replace(`{arg${index + 1}}`, arg), msg);
21
- const getNumber = (value) => typeof value === 'number' || (typeof value === 'string' && value !== '')
22
- ? Number(value)
23
- : NaN;
21
+ const getNumber = (value) => typeof value === 'number' || (typeof value === 'string' && value !== '') ? Number(value) : NaN;
24
22
  const onNumber = (value) => {
25
23
  const parsedValue = getNumber(value);
26
24
  const errors = [];
@@ -201,7 +199,9 @@ const onOr = (validators) => (value) => {
201
199
  };
202
200
  const onEnum = (list) => (value) => {
203
201
  const errors = [];
204
- const values = Object.keys(list).filter(k => isNaN(Number(k))).map(k => list[k]);
202
+ const values = Object.keys(list)
203
+ .filter(k => isNaN(Number(k)))
204
+ .map(k => list[k]);
205
205
  if (!values.some(item => item === value)) {
206
206
  errors.push(getError(ValidatorType.enum, ['[' + values.join(',') + ']']));
207
207
  }
@@ -292,9 +292,7 @@ export class ValidatedData {
292
292
  this.context = context;
293
293
  }
294
294
  setValidity() {
295
- this.errors = Object.keys(this.params).reduce((acc, key) => [
296
- ...acc, ...this.params[key].errors
297
- ], []);
295
+ this.errors = Object.keys(this.params).reduce((acc, key) => [...acc, ...this.params[key].errors], []);
298
296
  this.isValid = !this.errors.length;
299
297
  }
300
298
  setCommonError(error) {
@@ -312,9 +310,7 @@ export class ValidatedData {
312
310
  this.setValidity();
313
311
  }
314
312
  showErrors() {
315
- return this.errors.length
316
- ? 'validation failed: ' + this.errors.join(', ')
317
- : '';
313
+ return this.errors.length ? 'validation failed: ' + this.errors.join(', ') : '';
318
314
  }
319
315
  }
320
316
  export const runValidator = (current, validator, context) => {
@@ -332,7 +328,7 @@ const getDefault = (value, prop) => {
332
328
  const empty = value === void 0;
333
329
  const auto = !prop.mandatory && prop.defaultValue !== void 0;
334
330
  return {
335
- value: !empty ? value : (auto ? prop.defaultValue : void 0),
331
+ value: !empty ? value : auto ? prop.defaultValue : void 0,
336
332
  isSet: !empty || auto,
337
333
  isValid: !empty || !prop.mandatory,
338
334
  errors: []
@@ -364,9 +360,7 @@ export const validateOne = (context, name, prop) => {
364
360
  };
365
361
  export const validate = (context, params) => {
366
362
  const data = new ValidatedData(context);
367
- Object.entries(params).forEach(([key, prop]) => data.setParam(key, data.isValidContext
368
- ? validateOne(data.context, key, prop)
369
- : getDefault(void 0, prop)));
363
+ Object.entries(params).forEach(([key, prop]) => data.setParam(key, data.isValidContext ? validateOne(data.context, key, prop) : getDefault(void 0, prop)));
370
364
  return data;
371
365
  };
372
366
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/inputs/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IValidationContext } from '../interfaces/validation';\r\nimport {\r\n IValidator,\r\n ValidatedValue,\r\n IValidatedData,\r\n IValidatedCommonProps,\r\n ICommonProps,\r\n ICommonProp,\r\n} from '../interfaces/index';\r\n\r\nexport enum ValidatorType {\r\n number = 'must be a number',\r\n integer = 'must be an integer',\r\n integerUnlimited = 'must be an integer or infinity',\r\n moreOrEqual = 'must be a number greater than (or equal to) {arg1}',\r\n itemList = 'must be an array of items {arg1}',\r\n boolean = 'must be a boolean',\r\n object = 'must be an object',\r\n element = 'must be an html element',\r\n function = 'must be a function',\r\n funcOfxArguments = 'must have {arg1} argument(s)',\r\n funcOfxAndMoreArguments = 'must have at least {arg1} argument(s)',\r\n funcOfXToYArguments = 'must have {arg1} to {arg2} arguments',\r\n oneOfCan = 'can be present as only one item of {arg1} list',\r\n oneOfMust = 'must be present as only one item of {arg1} list',\r\n or = 'must satisfy at least 1 validator from {arg1} list',\r\n enum = 'must belong to {arg1} list',\r\n}\r\n\r\nconst getError = (msg: ValidatorType, args?: string[]) =>\r\n (args || ['']).reduce((acc, arg, index) => acc.replace(`{arg${index + 1}}`, arg), msg);\r\n\r\nconst getNumber = (value: unknown): number =>\r\n typeof value === 'number' || (typeof value === 'string' && value !== '')\r\n ? Number(value)\r\n : NaN;\r\n\r\nconst onNumber = (value: unknown): ValidatedValue => {\r\n const parsedValue = getNumber(value);\r\n const errors = [];\r\n if (Number.isNaN(parsedValue)) {\r\n errors.push(ValidatorType.number);\r\n }\r\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onInteger = (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n value = getNumber(value);\r\n const parsedValue = parseInt(String(value), 10);\r\n if (value !== parsedValue) {\r\n errors.push(ValidatorType.integer);\r\n }\r\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onIntegerUnlimited = (value: unknown): ValidatedValue => {\r\n let parsedValue = value;\r\n const errors = [];\r\n value = getNumber(value);\r\n if (!Number.isFinite(value)) {\r\n parsedValue = value;\r\n } else {\r\n parsedValue = parseInt(String(value), 10);\r\n }\r\n if (value !== parsedValue) {\r\n errors.push(ValidatorType.integerUnlimited);\r\n }\r\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onMoreOrEqual = (limit: number, fallback?: boolean) => (value: unknown): ValidatedValue => {\r\n const result = onNumber(value);\r\n if (!result.isValid) {\r\n return result;\r\n }\r\n let parsedValue = result.value as number;\r\n const errors = [];\r\n if (parsedValue < limit) {\r\n if (!fallback) {\r\n errors.push(getError(ValidatorType.moreOrEqual, [String(limit)]));\r\n } else {\r\n parsedValue = limit;\r\n }\r\n }\r\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onBoolean = (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n let parsedValue = value;\r\n if (value === 'true') {\r\n parsedValue = true;\r\n } else if (value === 'false') {\r\n parsedValue = false;\r\n }\r\n if (typeof parsedValue !== 'boolean') {\r\n errors.push(ValidatorType.boolean);\r\n }\r\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onObject = (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n if (!value || Object.prototype.toString.call(value) !== '[object Object]') {\r\n errors.push(ValidatorType.object);\r\n }\r\n return { value, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onHtmlElement = (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n if (!(value instanceof Element) && !(value instanceof Document)) {\r\n errors.push(ValidatorType.element);\r\n }\r\n return { value, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onItemList = (value: unknown): ValidatedValue => {\r\n let parsedValue = value;\r\n const errors = [];\r\n if (!Array.isArray(value)) {\r\n errors.push(ValidatorType.itemList);\r\n parsedValue = [];\r\n } else if (!value.length) {\r\n errors.push(getError(ValidatorType.itemList, ['with at least 1 item']));\r\n } else if (value.length > 1) {\r\n const type = typeof value[0];\r\n for (let i = value.length - 1; i >= 0; i--) {\r\n if (typeof value[i] !== type) {\r\n errors.push(getError(ValidatorType.itemList, ['of items of the same type']));\r\n break;\r\n }\r\n }\r\n }\r\n return { value: parsedValue as unknown[], isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\ntype Func = (...args: unknown[]) => void;\r\n\r\nconst onFunction = (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n if (typeof value !== 'function') {\r\n errors.push(ValidatorType.function);\r\n }\r\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onFunctionWithXArguments = (argsCount: number) => (value: unknown) => {\r\n const result = onFunction(value);\r\n if (!result.isValid) {\r\n return result;\r\n }\r\n value = result.value;\r\n const errors = [];\r\n if ((value as Func).length !== argsCount) {\r\n errors.push(getError(ValidatorType.funcOfxArguments, [String(argsCount)]));\r\n }\r\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onFunctionWithXAndMoreArguments = (argsCount: number) => (value: unknown): ValidatedValue => {\r\n const result = onFunction(value);\r\n if (!result.isValid) {\r\n return result;\r\n }\r\n value = result.value;\r\n const errors = [];\r\n if ((value as Func).length < argsCount) {\r\n errors.push(getError(ValidatorType.funcOfxArguments, [String(argsCount)]));\r\n }\r\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onFunctionWithXToYArguments = (from: number, to: number) => (value: unknown): ValidatedValue => {\r\n const result = onFunction(value);\r\n if (!result.isValid) {\r\n return result;\r\n }\r\n value = result.value;\r\n const errors = [];\r\n if ((value as Func).length < from || (value as Func).length > to) {\r\n errors.push(getError(ValidatorType.funcOfXToYArguments, [String(from), String(to)]));\r\n }\r\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onOneOf = (tokens: string[], must: boolean) => (value: unknown, context?: IValidationContext): ValidatedValue => {\r\n const errors = [];\r\n const isSet = value !== void 0;\r\n let noOneIsPresent = !isSet;\r\n const err = must ? ValidatorType.oneOfMust : ValidatorType.oneOfCan;\r\n if (!Array.isArray(tokens) || !tokens.length) {\r\n errors.push(getError(err, ['undefined']));\r\n } else {\r\n for (let i = tokens.length - 1; i >= 0; i--) {\r\n const token = tokens[i];\r\n if (typeof token !== 'string') {\r\n errors.push(getError(err, [tokens.join('\", \"')]) + ' (non-string token)');\r\n break;\r\n }\r\n const isAnotherPresent = context && Object.prototype.hasOwnProperty.call(context, token);\r\n if (isSet && isAnotherPresent) {\r\n errors.push(getError(err, [tokens.join('\", \"')]) + ` (${token} is present)`);\r\n break;\r\n }\r\n if (noOneIsPresent && isAnotherPresent) {\r\n noOneIsPresent = false;\r\n }\r\n }\r\n if (must && noOneIsPresent) {\r\n errors.push(getError(err, [tokens.join('\", \"')]));\r\n }\r\n }\r\n return { value, isSet, isValid: !errors.length, errors };\r\n};\r\n\r\nconst onOr = (validators: IValidator[]) => (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n if (validators.every(validator => !validator.method(value).isValid)) {\r\n errors.push(validators.map(v => v.type).join(' OR '));\r\n }\r\n return { value, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\ntype AbstractEnum = Record<string, string | number>;\r\ntype TEnum = AbstractEnum;\r\n\r\nconst onEnum = (list: TEnum) => (value: unknown): ValidatedValue => {\r\n const errors = [];\r\n const values = Object.keys(list).filter(k => isNaN(Number(k))).map(k => list[k as unknown as number]);\r\n if (!values.some(item => item === value)) {\r\n errors.push(getError(ValidatorType.enum, ['[' + values.join(',') + ']']));\r\n }\r\n return { value, isSet: true, isValid: !errors.length, errors };\r\n};\r\n\r\nexport const VALIDATORS = {\r\n NUMBER: {\r\n type: ValidatorType.number,\r\n method: onNumber\r\n },\r\n INTEGER: {\r\n type: ValidatorType.integer,\r\n method: onInteger\r\n },\r\n INTEGER_UNLIMITED: {\r\n type: ValidatorType.integerUnlimited,\r\n method: onIntegerUnlimited\r\n },\r\n MORE_OR_EQUAL: (limit: number, fallback?: boolean): IValidator => ({\r\n type: ValidatorType.moreOrEqual,\r\n method: onMoreOrEqual(limit, fallback)\r\n }),\r\n BOOLEAN: {\r\n type: ValidatorType.boolean,\r\n method: onBoolean\r\n },\r\n OBJECT: {\r\n type: ValidatorType.object,\r\n method: onObject\r\n },\r\n ITEM_LIST: {\r\n type: ValidatorType.itemList,\r\n method: onItemList\r\n },\r\n ELEMENT: {\r\n type: ValidatorType.element,\r\n method: onHtmlElement\r\n },\r\n FUNC: {\r\n type: ValidatorType.function,\r\n method: onFunction\r\n },\r\n FUNC_WITH_X_ARGUMENTS: (count: number): IValidator => ({\r\n type: ValidatorType.funcOfxArguments,\r\n method: onFunctionWithXArguments(count)\r\n }),\r\n FUNC_WITH_X_AND_MORE_ARGUMENTS: (count: number): IValidator => ({\r\n type: ValidatorType.funcOfxAndMoreArguments,\r\n method: onFunctionWithXAndMoreArguments(count)\r\n }),\r\n FUNC_WITH_X_TO_Y_ARGUMENTS: (from: number, to: number): IValidator => ({\r\n type: ValidatorType.funcOfXToYArguments,\r\n method: onFunctionWithXToYArguments(from, to)\r\n }),\r\n ONE_OF_CAN: (list: string[]): IValidator => ({\r\n type: ValidatorType.oneOfCan,\r\n method: onOneOf(list, false)\r\n }),\r\n ONE_OF_MUST: (list: string[]): IValidator => ({\r\n type: ValidatorType.oneOfMust,\r\n method: onOneOf(list, true)\r\n }),\r\n OR: (list: IValidator[]): IValidator => ({\r\n type: ValidatorType.or,\r\n method: onOr(list)\r\n }),\r\n ENUM: (list: TEnum): IValidator => ({\r\n type: ValidatorType.enum,\r\n method: onEnum(list)\r\n })\r\n};\r\n\r\nexport class ValidatedData implements IValidatedData {\r\n\r\n context: IValidationContext;\r\n isValidContext: boolean;\r\n isValid: boolean;\r\n errors: string[];\r\n params: IValidatedCommonProps<PropertyKey>;\r\n\r\n private contextErrors: string[];\r\n\r\n constructor(context: unknown) {\r\n this.params = {};\r\n this.contextErrors = [];\r\n this.errors = [];\r\n this.isValid = true;\r\n this.setContext(context);\r\n }\r\n\r\n private setContext(context: unknown): void {\r\n if (!context || Object.prototype.toString.call(context) !== '[object Object]') {\r\n this.setCommonError('context is not an object');\r\n this.isValidContext = false;\r\n } else {\r\n this.isValidContext = true;\r\n }\r\n this.context = context as IValidationContext;\r\n }\r\n\r\n private setValidity() {\r\n this.errors = Object.keys(this.params).reduce((acc: string[], key: string) => [\r\n ...acc, ...this.params[key].errors\r\n ], []);\r\n this.isValid = !this.errors.length;\r\n }\r\n\r\n setCommonError(error: string): void {\r\n this.contextErrors.push(error);\r\n this.errors.push(error);\r\n this.isValid = false;\r\n }\r\n\r\n setParam(token: string, value: ValidatedValue): void {\r\n if (!value.isValid) {\r\n value.errors = !value.isSet\r\n ? [`\"${token}\" must be set`]\r\n : value.errors.map((err: string) =>\r\n `\"${token}\" ${err}`\r\n );\r\n }\r\n this.params[token] = value;\r\n this.setValidity();\r\n }\r\n\r\n showErrors(): string {\r\n return this.errors.length\r\n ? 'validation failed: ' + this.errors.join(', ')\r\n : '';\r\n }\r\n}\r\n\r\nexport const runValidator = (\r\n current: ValidatedValue,\r\n validator: IValidator,\r\n context: IValidationContext\r\n): ValidatedValue => {\r\n const { value, errors } = current;\r\n const result = validator.method(value, context);\r\n const _errors = [...errors, ...result.errors];\r\n return {\r\n value: result.value,\r\n isSet: result.isSet,\r\n isValid: !_errors.length,\r\n errors: _errors\r\n };\r\n};\r\n\r\nconst getDefault = (value: unknown, prop: ICommonProp): ValidatedValue => {\r\n const empty = value === void 0;\r\n const auto = !prop.mandatory && prop.defaultValue !== void 0;\r\n return {\r\n value: !empty ? value : (auto ? prop.defaultValue : void 0),\r\n isSet: !empty || auto,\r\n isValid: !empty || !prop.mandatory,\r\n errors: []\r\n };\r\n};\r\n\r\nexport const validateOne = (\r\n context: IValidationContext, name: string, prop: ICommonProp\r\n): ValidatedValue => {\r\n const result = getDefault(context[name], prop);\r\n if (!result.isSet) {\r\n const oneOfMust = prop.validators.find(v => v.type === ValidatorType.oneOfMust);\r\n if (oneOfMust) {\r\n return runValidator(result, oneOfMust, context);\r\n }\r\n } else {\r\n for (const validator of Object.values(prop.validators)) {\r\n const current = runValidator(result, validator, context);\r\n if (!current.isValid && prop.defaultValue !== void 0) {\r\n return {\r\n value: prop.defaultValue,\r\n isSet: true,\r\n isValid: true,\r\n errors: []\r\n };\r\n }\r\n Object.assign(result, current);\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport const validate = (\r\n context: unknown, params: ICommonProps<PropertyKey>\r\n): IValidatedData => {\r\n const data = new ValidatedData(context);\r\n Object.entries(params).forEach(([key, prop]) =>\r\n data.setParam(key, data.isValidContext\r\n ? validateOne(data.context, key, prop)\r\n : getDefault(void 0, prop)\r\n )\r\n );\r\n return data;\r\n};\r\n"]}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/inputs/validation.ts"],"names":[],"mappings":"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","sourcesContent":["import { IValidationContext } from '../interfaces/validation';\nimport {\n IValidator,\n ValidatedValue,\n IValidatedData,\n IValidatedCommonProps,\n ICommonProps,\n ICommonProp\n} from '../interfaces/index';\n\nexport enum ValidatorType {\n number = 'must be a number',\n integer = 'must be an integer',\n integerUnlimited = 'must be an integer or infinity',\n moreOrEqual = 'must be a number greater than (or equal to) {arg1}',\n itemList = 'must be an array of items {arg1}',\n boolean = 'must be a boolean',\n object = 'must be an object',\n element = 'must be an html element',\n function = 'must be a function',\n funcOfxArguments = 'must have {arg1} argument(s)',\n funcOfxAndMoreArguments = 'must have at least {arg1} argument(s)',\n funcOfXToYArguments = 'must have {arg1} to {arg2} arguments',\n oneOfCan = 'can be present as only one item of {arg1} list',\n oneOfMust = 'must be present as only one item of {arg1} list',\n or = 'must satisfy at least 1 validator from {arg1} list',\n enum = 'must belong to {arg1} list'\n}\n\nconst getError = (msg: ValidatorType, args?: string[]) =>\n (args || ['']).reduce((acc, arg, index) => acc.replace(`{arg${index + 1}}`, arg), msg);\n\nconst getNumber = (value: unknown): number =>\n typeof value === 'number' || (typeof value === 'string' && value !== '') ? Number(value) : NaN;\n\nconst onNumber = (value: unknown): ValidatedValue => {\n const parsedValue = getNumber(value);\n const errors = [];\n if (Number.isNaN(parsedValue)) {\n errors.push(ValidatorType.number);\n }\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onInteger = (value: unknown): ValidatedValue => {\n const errors = [];\n value = getNumber(value);\n const parsedValue = parseInt(String(value), 10);\n if (value !== parsedValue) {\n errors.push(ValidatorType.integer);\n }\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onIntegerUnlimited = (value: unknown): ValidatedValue => {\n let parsedValue = value;\n const errors = [];\n value = getNumber(value);\n if (!Number.isFinite(value)) {\n parsedValue = value;\n } else {\n parsedValue = parseInt(String(value), 10);\n }\n if (value !== parsedValue) {\n errors.push(ValidatorType.integerUnlimited);\n }\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onMoreOrEqual =\n (limit: number, fallback?: boolean) =>\n (value: unknown): ValidatedValue => {\n const result = onNumber(value);\n if (!result.isValid) {\n return result;\n }\n let parsedValue = result.value as number;\n const errors = [];\n if (parsedValue < limit) {\n if (!fallback) {\n errors.push(getError(ValidatorType.moreOrEqual, [String(limit)]));\n } else {\n parsedValue = limit;\n }\n }\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\n };\n\nconst onBoolean = (value: unknown): ValidatedValue => {\n const errors = [];\n let parsedValue = value;\n if (value === 'true') {\n parsedValue = true;\n } else if (value === 'false') {\n parsedValue = false;\n }\n if (typeof parsedValue !== 'boolean') {\n errors.push(ValidatorType.boolean);\n }\n return { value: parsedValue, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onObject = (value: unknown): ValidatedValue => {\n const errors = [];\n if (!value || Object.prototype.toString.call(value) !== '[object Object]') {\n errors.push(ValidatorType.object);\n }\n return { value, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onHtmlElement = (value: unknown): ValidatedValue => {\n const errors = [];\n if (!(value instanceof Element) && !(value instanceof Document)) {\n errors.push(ValidatorType.element);\n }\n return { value, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onItemList = (value: unknown): ValidatedValue => {\n let parsedValue = value;\n const errors = [];\n if (!Array.isArray(value)) {\n errors.push(ValidatorType.itemList);\n parsedValue = [];\n } else if (!value.length) {\n errors.push(getError(ValidatorType.itemList, ['with at least 1 item']));\n } else if (value.length > 1) {\n const type = typeof value[0];\n for (let i = value.length - 1; i >= 0; i--) {\n if (typeof value[i] !== type) {\n errors.push(getError(ValidatorType.itemList, ['of items of the same type']));\n break;\n }\n }\n }\n return { value: parsedValue as unknown[], isSet: true, isValid: !errors.length, errors };\n};\n\ntype Func = (...args: unknown[]) => void;\n\nconst onFunction = (value: unknown): ValidatedValue => {\n const errors = [];\n if (typeof value !== 'function') {\n errors.push(ValidatorType.function);\n }\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onFunctionWithXArguments = (argsCount: number) => (value: unknown) => {\n const result = onFunction(value);\n if (!result.isValid) {\n return result;\n }\n value = result.value;\n const errors = [];\n if ((value as Func).length !== argsCount) {\n errors.push(getError(ValidatorType.funcOfxArguments, [String(argsCount)]));\n }\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\n};\n\nconst onFunctionWithXAndMoreArguments =\n (argsCount: number) =>\n (value: unknown): ValidatedValue => {\n const result = onFunction(value);\n if (!result.isValid) {\n return result;\n }\n value = result.value;\n const errors = [];\n if ((value as Func).length < argsCount) {\n errors.push(getError(ValidatorType.funcOfxArguments, [String(argsCount)]));\n }\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\n };\n\nconst onFunctionWithXToYArguments =\n (from: number, to: number) =>\n (value: unknown): ValidatedValue => {\n const result = onFunction(value);\n if (!result.isValid) {\n return result;\n }\n value = result.value;\n const errors = [];\n if ((value as Func).length < from || (value as Func).length > to) {\n errors.push(getError(ValidatorType.funcOfXToYArguments, [String(from), String(to)]));\n }\n return { value: value as Func, isSet: true, isValid: !errors.length, errors };\n };\n\nconst onOneOf =\n (tokens: string[], must: boolean) =>\n (value: unknown, context?: IValidationContext): ValidatedValue => {\n const errors = [];\n const isSet = value !== void 0;\n let noOneIsPresent = !isSet;\n const err = must ? ValidatorType.oneOfMust : ValidatorType.oneOfCan;\n if (!Array.isArray(tokens) || !tokens.length) {\n errors.push(getError(err, ['undefined']));\n } else {\n for (let i = tokens.length - 1; i >= 0; i--) {\n const token = tokens[i];\n if (typeof token !== 'string') {\n errors.push(getError(err, [tokens.join('\", \"')]) + ' (non-string token)');\n break;\n }\n const isAnotherPresent = context && Object.prototype.hasOwnProperty.call(context, token);\n if (isSet && isAnotherPresent) {\n errors.push(getError(err, [tokens.join('\", \"')]) + ` (${token} is present)`);\n break;\n }\n if (noOneIsPresent && isAnotherPresent) {\n noOneIsPresent = false;\n }\n }\n if (must && noOneIsPresent) {\n errors.push(getError(err, [tokens.join('\", \"')]));\n }\n }\n return { value, isSet, isValid: !errors.length, errors };\n };\n\nconst onOr =\n (validators: IValidator[]) =>\n (value: unknown): ValidatedValue => {\n const errors = [];\n if (validators.every(validator => !validator.method(value).isValid)) {\n errors.push(validators.map(v => v.type).join(' OR '));\n }\n return { value, isSet: true, isValid: !errors.length, errors };\n };\n\ntype AbstractEnum = Record<string, string | number>;\ntype TEnum = AbstractEnum;\n\nconst onEnum =\n (list: TEnum) =>\n (value: unknown): ValidatedValue => {\n const errors = [];\n const values = Object.keys(list)\n .filter(k => isNaN(Number(k)))\n .map(k => list[k as unknown as number]);\n if (!values.some(item => item === value)) {\n errors.push(getError(ValidatorType.enum, ['[' + values.join(',') + ']']));\n }\n return { value, isSet: true, isValid: !errors.length, errors };\n };\n\nexport const VALIDATORS = {\n NUMBER: {\n type: ValidatorType.number,\n method: onNumber\n },\n INTEGER: {\n type: ValidatorType.integer,\n method: onInteger\n },\n INTEGER_UNLIMITED: {\n type: ValidatorType.integerUnlimited,\n method: onIntegerUnlimited\n },\n MORE_OR_EQUAL: (limit: number, fallback?: boolean): IValidator => ({\n type: ValidatorType.moreOrEqual,\n method: onMoreOrEqual(limit, fallback)\n }),\n BOOLEAN: {\n type: ValidatorType.boolean,\n method: onBoolean\n },\n OBJECT: {\n type: ValidatorType.object,\n method: onObject\n },\n ITEM_LIST: {\n type: ValidatorType.itemList,\n method: onItemList\n },\n ELEMENT: {\n type: ValidatorType.element,\n method: onHtmlElement\n },\n FUNC: {\n type: ValidatorType.function,\n method: onFunction\n },\n FUNC_WITH_X_ARGUMENTS: (count: number): IValidator => ({\n type: ValidatorType.funcOfxArguments,\n method: onFunctionWithXArguments(count)\n }),\n FUNC_WITH_X_AND_MORE_ARGUMENTS: (count: number): IValidator => ({\n type: ValidatorType.funcOfxAndMoreArguments,\n method: onFunctionWithXAndMoreArguments(count)\n }),\n FUNC_WITH_X_TO_Y_ARGUMENTS: (from: number, to: number): IValidator => ({\n type: ValidatorType.funcOfXToYArguments,\n method: onFunctionWithXToYArguments(from, to)\n }),\n ONE_OF_CAN: (list: string[]): IValidator => ({\n type: ValidatorType.oneOfCan,\n method: onOneOf(list, false)\n }),\n ONE_OF_MUST: (list: string[]): IValidator => ({\n type: ValidatorType.oneOfMust,\n method: onOneOf(list, true)\n }),\n OR: (list: IValidator[]): IValidator => ({\n type: ValidatorType.or,\n method: onOr(list)\n }),\n ENUM: (list: TEnum): IValidator => ({\n type: ValidatorType.enum,\n method: onEnum(list)\n })\n};\n\nexport class ValidatedData implements IValidatedData {\n context: IValidationContext;\n isValidContext: boolean;\n isValid: boolean;\n errors: string[];\n params: IValidatedCommonProps<PropertyKey>;\n\n private contextErrors: string[];\n\n constructor(context: unknown) {\n this.params = {};\n this.contextErrors = [];\n this.errors = [];\n this.isValid = true;\n this.setContext(context);\n }\n\n private setContext(context: unknown): void {\n if (!context || Object.prototype.toString.call(context) !== '[object Object]') {\n this.setCommonError('context is not an object');\n this.isValidContext = false;\n } else {\n this.isValidContext = true;\n }\n this.context = context as IValidationContext;\n }\n\n private setValidity() {\n this.errors = Object.keys(this.params).reduce(\n (acc: string[], key: string) => [...acc, ...this.params[key].errors],\n []\n );\n this.isValid = !this.errors.length;\n }\n\n setCommonError(error: string): void {\n this.contextErrors.push(error);\n this.errors.push(error);\n this.isValid = false;\n }\n\n setParam(token: string, value: ValidatedValue): void {\n if (!value.isValid) {\n value.errors = !value.isSet\n ? [`\"${token}\" must be set`]\n : value.errors.map((err: string) => `\"${token}\" ${err}`);\n }\n this.params[token] = value;\n this.setValidity();\n }\n\n showErrors(): string {\n return this.errors.length ? 'validation failed: ' + this.errors.join(', ') : '';\n }\n}\n\nexport const runValidator = (\n current: ValidatedValue,\n validator: IValidator,\n context: IValidationContext\n): ValidatedValue => {\n const { value, errors } = current;\n const result = validator.method(value, context);\n const _errors = [...errors, ...result.errors];\n return {\n value: result.value,\n isSet: result.isSet,\n isValid: !_errors.length,\n errors: _errors\n };\n};\n\nconst getDefault = (value: unknown, prop: ICommonProp): ValidatedValue => {\n const empty = value === void 0;\n const auto = !prop.mandatory && prop.defaultValue !== void 0;\n return {\n value: !empty ? value : auto ? prop.defaultValue : void 0,\n isSet: !empty || auto,\n isValid: !empty || !prop.mandatory,\n errors: []\n };\n};\n\nexport const validateOne = (\n context: IValidationContext,\n name: string,\n prop: ICommonProp\n): ValidatedValue => {\n const result = getDefault(context[name], prop);\n if (!result.isSet) {\n const oneOfMust = prop.validators.find(v => v.type === ValidatorType.oneOfMust);\n if (oneOfMust) {\n return runValidator(result, oneOfMust, context);\n }\n } else {\n for (const validator of Object.values(prop.validators)) {\n const current = runValidator(result, validator, context);\n if (!current.isValid && prop.defaultValue !== void 0) {\n return {\n value: prop.defaultValue,\n isSet: true,\n isValid: true,\n errors: []\n };\n }\n Object.assign(result, current);\n }\n }\n return result;\n};\n\nexport const validate = (context: unknown, params: ICommonProps<PropertyKey>): IValidatedData => {\n const data = new ValidatedData(context);\n Object.entries(params).forEach(([key, prop]) =>\n data.setParam(\n key,\n data.isValidContext ? validateOne(data.context, key, prop) : getDefault(void 0, prop)\n )\n );\n return data;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/inputs/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC;AAEpE,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,4BAAW,CAAA;IACX,sCAAqB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACvB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QAC1B,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;QACnB,UAAU,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC,IAAI,CAAC;KACnB;CACF,CAAC","sourcesContent":["import { VALIDATORS } from './validation';\r\nimport { ICommonProps } from '../interfaces/index';\r\n\r\nconst { ELEMENT, OBJECT, FUNC, FUNC_WITH_X_ARGUMENTS } = VALIDATORS;\r\n\r\nexport enum WorkflowProps {\r\n consumer = 'consumer',\r\n element = 'element',\r\n datasource = 'datasource',\r\n run = 'run',\r\n Routines = 'Routines',\r\n}\r\n\r\nexport const WORKFLOW: ICommonProps<WorkflowProps> = {\r\n [WorkflowProps.consumer]: {\r\n validators: [OBJECT]\r\n },\r\n [WorkflowProps.element]: {\r\n validators: [ELEMENT],\r\n mandatory: true\r\n },\r\n [WorkflowProps.datasource]: {\r\n validators: [OBJECT],\r\n mandatory: true\r\n },\r\n [WorkflowProps.run]: {\r\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\r\n mandatory: true\r\n },\r\n [WorkflowProps.Routines]: {\r\n validators: [FUNC]\r\n }\r\n};\r\n"]}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../../../src/inputs/workflow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC;AAEpE,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,0CAAyB,CAAA;IACzB,4BAAW,CAAA;IACX,sCAAqB,CAAA;AACvB,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAC,MAAM,QAAQ,GAAgC;IACnD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC,MAAM,CAAC;KACrB;IACD,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACvB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE;QAC1B,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE;QACnB,UAAU,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtC,SAAS,EAAE,IAAI;KAChB;IACD,CAAC,aAAa,CAAC,QAAQ,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC,IAAI,CAAC;KACnB;CACF,CAAC","sourcesContent":["import { VALIDATORS } from './validation';\nimport { ICommonProps } from '../interfaces/index';\n\nconst { ELEMENT, OBJECT, FUNC, FUNC_WITH_X_ARGUMENTS } = VALIDATORS;\n\nexport enum WorkflowProps {\n consumer = 'consumer',\n element = 'element',\n datasource = 'datasource',\n run = 'run',\n Routines = 'Routines'\n}\n\nexport const WORKFLOW: ICommonProps<WorkflowProps> = {\n [WorkflowProps.consumer]: {\n validators: [OBJECT]\n },\n [WorkflowProps.element]: {\n validators: [ELEMENT],\n mandatory: true\n },\n [WorkflowProps.datasource]: {\n validators: [OBJECT],\n mandatory: true\n },\n [WorkflowProps.run]: {\n validators: [FUNC_WITH_X_ARGUMENTS(1)],\n mandatory: true\n },\n [WorkflowProps.Routines]: {\n validators: [FUNC]\n }\n};\n"]}