vscroll 1.6.3 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundles/vscroll.esm5.js +5854 -5705
- package/dist/bundles/vscroll.esm5.js.map +1 -1
- package/dist/bundles/vscroll.esm5.min.js +2 -2
- package/dist/bundles/vscroll.esm5.min.js.map +1 -1
- package/dist/bundles/vscroll.esm6.js +5341 -5194
- package/dist/bundles/vscroll.esm6.js.map +1 -1
- package/dist/bundles/vscroll.esm6.min.js +2 -2
- package/dist/bundles/vscroll.esm6.min.js.map +1 -1
- package/dist/bundles/vscroll.umd.js +5858 -5710
- package/dist/bundles/vscroll.umd.js.map +1 -1
- package/dist/bundles/vscroll.umd.min.js +2 -2
- package/dist/bundles/vscroll.umd.min.js.map +1 -1
- package/dist/esm2015/classes/adapter/context.js +44 -43
- package/dist/esm2015/classes/adapter/context.js.map +1 -1
- package/dist/esm2015/classes/adapter/props.js +300 -300
- package/dist/esm2015/classes/adapter/props.js.map +1 -1
- package/dist/esm2015/classes/adapter/wanted.js +28 -28
- package/dist/esm2015/classes/adapter/wanted.js.map +1 -1
- package/dist/esm2015/classes/adapter.js +486 -487
- package/dist/esm2015/classes/adapter.js.map +1 -1
- package/dist/esm2015/classes/buffer/cache.js +249 -246
- package/dist/esm2015/classes/buffer/cache.js.map +1 -1
- package/dist/esm2015/classes/buffer/checkCall.js +47 -48
- package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm2015/classes/buffer/defaultSize.js +128 -127
- package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm2015/classes/buffer.js +343 -342
- package/dist/esm2015/classes/buffer.js.map +1 -1
- package/dist/esm2015/classes/datasource.js +36 -24
- package/dist/esm2015/classes/datasource.js.map +1 -1
- package/dist/esm2015/classes/domRoutines.js +160 -160
- package/dist/esm2015/classes/domRoutines.js.map +1 -1
- package/dist/esm2015/classes/item.js +61 -61
- package/dist/esm2015/classes/item.js.map +1 -1
- package/dist/esm2015/classes/logger.js +229 -186
- package/dist/esm2015/classes/logger.js.map +1 -1
- package/dist/esm2015/classes/paddings.js +76 -72
- package/dist/esm2015/classes/paddings.js.map +1 -1
- package/dist/esm2015/classes/reactive.js +54 -54
- package/dist/esm2015/classes/reactive.js.map +1 -1
- package/dist/esm2015/classes/settings.js +39 -39
- package/dist/esm2015/classes/settings.js.map +1 -1
- package/dist/esm2015/classes/state/clip.js +16 -16
- package/dist/esm2015/classes/state/clip.js.map +1 -1
- package/dist/esm2015/classes/state/cycle.js +60 -60
- package/dist/esm2015/classes/state/cycle.js.map +1 -1
- package/dist/esm2015/classes/state/fetch.js +124 -122
- package/dist/esm2015/classes/state/fetch.js.map +1 -1
- package/dist/esm2015/classes/state/render.js +14 -14
- package/dist/esm2015/classes/state/render.js.map +1 -1
- package/dist/esm2015/classes/state/scroll.js +30 -30
- package/dist/esm2015/classes/state/scroll.js.map +1 -1
- package/dist/esm2015/classes/state.js +64 -62
- package/dist/esm2015/classes/state.js.map +1 -1
- package/dist/esm2015/classes/viewport.js +74 -72
- package/dist/esm2015/classes/viewport.js.map +1 -1
- package/dist/esm2015/index.js +9 -9
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2015/inputs/adapter.js +262 -242
- package/dist/esm2015/inputs/adapter.js.map +1 -1
- package/dist/esm2015/inputs/common.js +11 -11
- package/dist/esm2015/inputs/common.js.map +1 -1
- package/dist/esm2015/inputs/datasource.js +20 -20
- package/dist/esm2015/inputs/datasource.js.map +1 -1
- package/dist/esm2015/inputs/index.js +7 -7
- package/dist/esm2015/inputs/index.js.map +1 -1
- package/dist/esm2015/inputs/settings.js +151 -146
- package/dist/esm2015/inputs/settings.js.map +1 -1
- package/dist/esm2015/inputs/validation.js +365 -374
- package/dist/esm2015/inputs/validation.js.map +1 -1
- package/dist/esm2015/inputs/workflow.js +30 -30
- package/dist/esm2015/inputs/workflow.js.map +1 -1
- package/dist/esm2015/interfaces/adapter.js +1 -1
- package/dist/esm2015/interfaces/adapter.js.map +1 -1
- package/dist/esm2015/interfaces/datasource.js +1 -1
- package/dist/esm2015/interfaces/datasource.js.map +1 -1
- package/dist/esm2015/interfaces/index.js +1 -1
- package/dist/esm2015/interfaces/index.js.map +1 -1
- package/dist/esm2015/interfaces/item.js +1 -1
- package/dist/esm2015/interfaces/item.js.map +1 -1
- package/dist/esm2015/interfaces/process.js +1 -1
- package/dist/esm2015/interfaces/process.js.map +1 -1
- package/dist/esm2015/interfaces/routines.js +1 -1
- package/dist/esm2015/interfaces/routines.js.map +1 -1
- package/dist/esm2015/interfaces/settings.js +1 -1
- package/dist/esm2015/interfaces/settings.js.map +1 -1
- package/dist/esm2015/interfaces/state.js +1 -1
- package/dist/esm2015/interfaces/state.js.map +1 -1
- package/dist/esm2015/interfaces/validation.js +1 -1
- package/dist/esm2015/interfaces/validation.js.map +1 -1
- package/dist/esm2015/interfaces/workflow.js +1 -1
- package/dist/esm2015/interfaces/workflow.js.map +1 -1
- package/dist/esm2015/processes/adapter/append.js +37 -36
- package/dist/esm2015/processes/adapter/append.js.map +1 -1
- package/dist/esm2015/processes/adapter/check.js +33 -32
- package/dist/esm2015/processes/adapter/check.js.map +1 -1
- package/dist/esm2015/processes/adapter/clip.js +12 -12
- package/dist/esm2015/processes/adapter/clip.js.map +1 -1
- package/dist/esm2015/processes/adapter/fix.js +79 -77
- package/dist/esm2015/processes/adapter/fix.js.map +1 -1
- package/dist/esm2015/processes/adapter/insert.js +74 -73
- package/dist/esm2015/processes/adapter/insert.js.map +1 -1
- package/dist/esm2015/processes/adapter/pause.js +22 -22
- package/dist/esm2015/processes/adapter/pause.js.map +1 -1
- package/dist/esm2015/processes/adapter/reload.js +19 -19
- package/dist/esm2015/processes/adapter/reload.js.map +1 -1
- package/dist/esm2015/processes/adapter/remove.js +105 -102
- package/dist/esm2015/processes/adapter/remove.js.map +1 -1
- package/dist/esm2015/processes/adapter/replace.js +39 -39
- package/dist/esm2015/processes/adapter/replace.js.map +1 -1
- package/dist/esm2015/processes/adapter/reset.js +35 -35
- package/dist/esm2015/processes/adapter/reset.js.map +1 -1
- package/dist/esm2015/processes/adapter/update.js +44 -43
- package/dist/esm2015/processes/adapter/update.js.map +1 -1
- package/dist/esm2015/processes/adjust.js +146 -141
- package/dist/esm2015/processes/adjust.js.map +1 -1
- package/dist/esm2015/processes/clip.js +49 -49
- package/dist/esm2015/processes/clip.js.map +1 -1
- package/dist/esm2015/processes/end.js +53 -52
- package/dist/esm2015/processes/end.js.map +1 -1
- package/dist/esm2015/processes/fetch.js +93 -91
- package/dist/esm2015/processes/fetch.js.map +1 -1
- package/dist/esm2015/processes/index.js +24 -24
- package/dist/esm2015/processes/index.js.map +1 -1
- package/dist/esm2015/processes/init.js +14 -14
- package/dist/esm2015/processes/init.js.map +1 -1
- package/dist/esm2015/processes/misc/base.js +29 -30
- package/dist/esm2015/processes/misc/base.js.map +1 -1
- package/dist/esm2015/processes/misc/enums.js +36 -36
- package/dist/esm2015/processes/misc/enums.js.map +1 -1
- package/dist/esm2015/processes/misc/index.js +2 -2
- package/dist/esm2015/processes/misc/index.js.map +1 -1
- package/dist/esm2015/processes/postFetch.js +66 -65
- package/dist/esm2015/processes/postFetch.js.map +1 -1
- package/dist/esm2015/processes/preClip.js +86 -85
- package/dist/esm2015/processes/preClip.js.map +1 -1
- package/dist/esm2015/processes/preFetch.js +253 -240
- package/dist/esm2015/processes/preFetch.js.map +1 -1
- package/dist/esm2015/processes/render.js +56 -54
- package/dist/esm2015/processes/render.js.map +1 -1
- package/dist/esm2015/processes/scroll.js +106 -97
- package/dist/esm2015/processes/scroll.js.map +1 -1
- package/dist/esm2015/processes/start.js +11 -11
- package/dist/esm2015/processes/start.js.map +1 -1
- package/dist/esm2015/scroller.js +91 -86
- package/dist/esm2015/scroller.js.map +1 -1
- package/dist/esm2015/version.js +4 -4
- package/dist/esm2015/version.js.map +1 -1
- package/dist/esm2015/workflow-transducer.js +219 -218
- package/dist/esm2015/workflow-transducer.js.map +1 -1
- package/dist/esm2015/workflow.js +185 -174
- package/dist/esm2015/workflow.js.map +1 -1
- package/dist/esm5/classes/adapter/context.js +51 -50
- package/dist/esm5/classes/adapter/context.js.map +1 -1
- package/dist/esm5/classes/adapter/props.js +300 -300
- package/dist/esm5/classes/adapter/props.js.map +1 -1
- package/dist/esm5/classes/adapter/wanted.js +29 -29
- package/dist/esm5/classes/adapter/wanted.js.map +1 -1
- package/dist/esm5/classes/adapter.js +538 -535
- package/dist/esm5/classes/adapter.js.map +1 -1
- package/dist/esm5/classes/buffer/cache.js +262 -260
- package/dist/esm5/classes/buffer/cache.js.map +1 -1
- package/dist/esm5/classes/buffer/checkCall.js +53 -56
- package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm5/classes/buffer/defaultSize.js +146 -145
- package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm5/classes/buffer.js +410 -409
- package/dist/esm5/classes/buffer.js.map +1 -1
- package/dist/esm5/classes/datasource.js +47 -31
- package/dist/esm5/classes/datasource.js.map +1 -1
- package/dist/esm5/classes/domRoutines.js +165 -165
- package/dist/esm5/classes/domRoutines.js.map +1 -1
- package/dist/esm5/classes/item.js +76 -76
- package/dist/esm5/classes/item.js.map +1 -1
- package/dist/esm5/classes/logger.js +251 -210
- package/dist/esm5/classes/logger.js.map +1 -1
- package/dist/esm5/classes/paddings.js +84 -80
- package/dist/esm5/classes/paddings.js.map +1 -1
- package/dist/esm5/classes/reactive.js +69 -69
- package/dist/esm5/classes/reactive.js.map +1 -1
- package/dist/esm5/classes/settings.js +47 -47
- package/dist/esm5/classes/settings.js.map +1 -1
- package/dist/esm5/classes/state/clip.js +22 -22
- package/dist/esm5/classes/state/clip.js.map +1 -1
- package/dist/esm5/classes/state/cycle.js +75 -75
- package/dist/esm5/classes/state/cycle.js.map +1 -1
- package/dist/esm5/classes/state/fetch.js +150 -148
- package/dist/esm5/classes/state/fetch.js.map +1 -1
- package/dist/esm5/classes/state/render.js +20 -20
- package/dist/esm5/classes/state/render.js.map +1 -1
- package/dist/esm5/classes/state/scroll.js +32 -32
- package/dist/esm5/classes/state/scroll.js.map +1 -1
- package/dist/esm5/classes/state.js +71 -69
- package/dist/esm5/classes/state.js.map +1 -1
- package/dist/esm5/classes/viewport.js +80 -79
- package/dist/esm5/classes/viewport.js.map +1 -1
- package/dist/esm5/index.js +9 -9
- package/dist/esm5/index.js.map +1 -1
- package/dist/esm5/inputs/adapter.js +263 -243
- package/dist/esm5/inputs/adapter.js.map +1 -1
- package/dist/esm5/inputs/common.js +11 -11
- package/dist/esm5/inputs/common.js.map +1 -1
- package/dist/esm5/inputs/datasource.js +21 -21
- package/dist/esm5/inputs/datasource.js.map +1 -1
- package/dist/esm5/inputs/index.js +7 -7
- package/dist/esm5/inputs/index.js.map +1 -1
- package/dist/esm5/inputs/settings.js +152 -147
- package/dist/esm5/inputs/settings.js.map +1 -1
- package/dist/esm5/inputs/validation.js +399 -396
- package/dist/esm5/inputs/validation.js.map +1 -1
- package/dist/esm5/inputs/workflow.js +31 -31
- package/dist/esm5/inputs/workflow.js.map +1 -1
- package/dist/esm5/interfaces/adapter.js +1 -1
- package/dist/esm5/interfaces/adapter.js.map +1 -1
- package/dist/esm5/interfaces/datasource.js +1 -1
- package/dist/esm5/interfaces/datasource.js.map +1 -1
- package/dist/esm5/interfaces/index.js +1 -1
- package/dist/esm5/interfaces/index.js.map +1 -1
- package/dist/esm5/interfaces/item.js +1 -1
- package/dist/esm5/interfaces/item.js.map +1 -1
- package/dist/esm5/interfaces/process.js +1 -1
- package/dist/esm5/interfaces/process.js.map +1 -1
- package/dist/esm5/interfaces/routines.js +1 -1
- package/dist/esm5/interfaces/routines.js.map +1 -1
- package/dist/esm5/interfaces/settings.js +1 -1
- package/dist/esm5/interfaces/settings.js.map +1 -1
- package/dist/esm5/interfaces/state.js +1 -1
- package/dist/esm5/interfaces/state.js.map +1 -1
- package/dist/esm5/interfaces/validation.js +1 -1
- package/dist/esm5/interfaces/validation.js.map +1 -1
- package/dist/esm5/interfaces/workflow.js +1 -1
- package/dist/esm5/interfaces/workflow.js.map +1 -1
- package/dist/esm5/processes/adapter/append.js +45 -44
- package/dist/esm5/processes/adapter/append.js.map +1 -1
- package/dist/esm5/processes/adapter/check.js +40 -39
- package/dist/esm5/processes/adapter/check.js.map +1 -1
- package/dist/esm5/processes/adapter/clip.js +19 -19
- package/dist/esm5/processes/adapter/clip.js.map +1 -1
- package/dist/esm5/processes/adapter/fix.js +91 -89
- package/dist/esm5/processes/adapter/fix.js.map +1 -1
- package/dist/esm5/processes/adapter/insert.js +82 -81
- package/dist/esm5/processes/adapter/insert.js.map +1 -1
- package/dist/esm5/processes/adapter/pause.js +29 -29
- package/dist/esm5/processes/adapter/pause.js.map +1 -1
- package/dist/esm5/processes/adapter/reload.js +26 -26
- package/dist/esm5/processes/adapter/reload.js.map +1 -1
- package/dist/esm5/processes/adapter/remove.js +116 -115
- package/dist/esm5/processes/adapter/remove.js.map +1 -1
- package/dist/esm5/processes/adapter/replace.js +47 -47
- package/dist/esm5/processes/adapter/replace.js.map +1 -1
- package/dist/esm5/processes/adapter/reset.js +42 -42
- package/dist/esm5/processes/adapter/reset.js.map +1 -1
- package/dist/esm5/processes/adapter/update.js +64 -59
- package/dist/esm5/processes/adapter/update.js.map +1 -1
- package/dist/esm5/processes/adjust.js +157 -152
- package/dist/esm5/processes/adjust.js.map +1 -1
- package/dist/esm5/processes/clip.js +60 -60
- package/dist/esm5/processes/clip.js.map +1 -1
- package/dist/esm5/processes/end.js +64 -63
- package/dist/esm5/processes/end.js.map +1 -1
- package/dist/esm5/processes/fetch.js +104 -102
- package/dist/esm5/processes/fetch.js.map +1 -1
- package/dist/esm5/processes/index.js +24 -24
- package/dist/esm5/processes/index.js.map +1 -1
- package/dist/esm5/processes/init.js +21 -21
- package/dist/esm5/processes/init.js.map +1 -1
- package/dist/esm5/processes/misc/base.js +43 -44
- package/dist/esm5/processes/misc/base.js.map +1 -1
- package/dist/esm5/processes/misc/enums.js +36 -36
- package/dist/esm5/processes/misc/enums.js.map +1 -1
- package/dist/esm5/processes/misc/index.js +2 -2
- package/dist/esm5/processes/misc/index.js.map +1 -1
- package/dist/esm5/processes/postFetch.js +73 -74
- package/dist/esm5/processes/postFetch.js.map +1 -1
- package/dist/esm5/processes/preClip.js +95 -94
- package/dist/esm5/processes/preClip.js.map +1 -1
- package/dist/esm5/processes/preFetch.js +259 -247
- package/dist/esm5/processes/preFetch.js.map +1 -1
- package/dist/esm5/processes/render.js +63 -63
- package/dist/esm5/processes/render.js.map +1 -1
- package/dist/esm5/processes/scroll.js +113 -107
- package/dist/esm5/processes/scroll.js.map +1 -1
- package/dist/esm5/processes/start.js +18 -18
- package/dist/esm5/processes/start.js.map +1 -1
- package/dist/esm5/scroller.js +104 -100
- package/dist/esm5/scroller.js.map +1 -1
- package/dist/esm5/version.js +4 -4
- package/dist/esm5/version.js.map +1 -1
- package/dist/esm5/workflow-transducer.js +221 -220
- package/dist/esm5/workflow-transducer.js.map +1 -1
- package/dist/esm5/workflow.js +204 -198
- package/dist/esm5/workflow.js.map +1 -1
- package/dist/typings/classes/adapter/context.d.ts +4 -4
- package/dist/typings/classes/adapter/props.d.ts +52 -52
- package/dist/typings/classes/adapter/wanted.d.ts +14 -14
- package/dist/typings/classes/adapter.d.ts +79 -79
- package/dist/typings/classes/buffer/cache.d.ts +94 -95
- package/dist/typings/classes/buffer/checkCall.d.ts +12 -12
- package/dist/typings/classes/buffer/defaultSize.d.ts +32 -32
- package/dist/typings/classes/buffer.d.ts +64 -64
- package/dist/typings/classes/datasource.d.ts +11 -11
- package/dist/typings/classes/domRoutines.d.ts +36 -36
- package/dist/typings/classes/item.d.ts +28 -28
- package/dist/typings/classes/logger.d.ts +32 -28
- package/dist/typings/classes/paddings.d.ts +22 -22
- package/dist/typings/classes/reactive.d.ts +21 -21
- package/dist/typings/classes/settings.d.ts +126 -119
- package/dist/typings/classes/state/clip.d.ts +9 -9
- package/dist/typings/classes/state/cycle.d.ts +29 -29
- package/dist/typings/classes/state/fetch.d.ts +62 -62
- package/dist/typings/classes/state/render.d.ts +9 -9
- package/dist/typings/classes/state/scroll.d.ts +16 -16
- package/dist/typings/classes/state.d.ts +29 -29
- package/dist/typings/classes/viewport.d.ts +32 -32
- package/dist/typings/index.d.ts +10 -10
- package/dist/typings/inputs/adapter.d.ts +5 -5
- package/dist/typings/inputs/common.d.ts +9 -9
- package/dist/typings/inputs/datasource.d.ts +7 -7
- package/dist/typings/inputs/index.d.ts +7 -7
- package/dist/typings/inputs/settings.d.ts +42 -41
- package/dist/typings/inputs/validation.d.ts +82 -83
- package/dist/typings/inputs/workflow.d.ts +9 -9
- package/dist/typings/interfaces/adapter.d.ts +164 -164
- package/dist/typings/interfaces/datasource.d.ts +28 -28
- package/dist/typings/interfaces/index.d.ts +10 -10
- package/dist/typings/interfaces/item.d.ts +8 -8
- package/dist/typings/interfaces/process.d.ts +35 -35
- package/dist/typings/interfaces/routines.d.ts +166 -166
- package/dist/typings/interfaces/settings.d.ts +32 -31
- package/dist/typings/interfaces/state.d.ts +24 -24
- package/dist/typings/interfaces/validation.d.ts +33 -33
- package/dist/typings/interfaces/workflow.d.ts +53 -53
- package/dist/typings/processes/adapter/append.d.ts +14 -14
- package/dist/typings/processes/adapter/check.d.ts +6 -6
- package/dist/typings/processes/adapter/clip.d.ts +7 -7
- package/dist/typings/processes/adapter/fix.d.ts +13 -13
- package/dist/typings/processes/adapter/insert.d.ts +11 -11
- package/dist/typings/processes/adapter/pause.d.ts +8 -8
- package/dist/typings/processes/adapter/reload.d.ts +6 -6
- package/dist/typings/processes/adapter/remove.d.ts +11 -11
- package/dist/typings/processes/adapter/replace.d.ts +8 -8
- package/dist/typings/processes/adapter/reset.d.ts +7 -7
- package/dist/typings/processes/adapter/update.d.ts +8 -8
- package/dist/typings/processes/adjust.d.ts +10 -10
- package/dist/typings/processes/clip.d.ts +7 -7
- package/dist/typings/processes/end.d.ts +10 -10
- package/dist/typings/processes/fetch.d.ts +18 -18
- package/dist/typings/processes/index.d.ts +24 -24
- package/dist/typings/processes/init.d.ts +7 -7
- package/dist/typings/processes/misc/base.d.ts +4 -4
- package/dist/typings/processes/misc/enums.d.ts +33 -33
- package/dist/typings/processes/misc/index.d.ts +2 -2
- package/dist/typings/processes/postFetch.d.ts +8 -8
- package/dist/typings/processes/preClip.d.ts +12 -12
- package/dist/typings/processes/preFetch.d.ts +17 -17
- package/dist/typings/processes/render.d.ts +9 -9
- package/dist/typings/processes/scroll.d.ts +13 -13
- package/dist/typings/processes/start.d.ts +6 -6
- package/dist/typings/scroller.d.ts +26 -26
- package/dist/typings/version.d.ts +5 -5
- package/dist/typings/workflow-transducer.d.ts +2 -2
- package/dist/typings/workflow.d.ts +30 -29
- package/package.json +72 -69
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/classes/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../scroller';\r\nimport { CommonProcess, AdapterProcess, ProcessStatus as Status } from '../processes/index';\r\nimport { IPackages, ProcessSubject } from '../interfaces/index';\r\n\r\ntype LogType = [unknown?, ...unknown[]];\r\n\r\nexport class Logger {\r\n\r\n readonly debug: boolean;\r\n readonly immediateLog: boolean;\r\n readonly logTime: boolean;\r\n readonly getTime: () => string;\r\n readonly getStat: () => string;\r\n readonly getFetchRange: () => string;\r\n readonly getWorkflowCycleData: () => string;\r\n readonly getLoopId: () => string;\r\n readonly getLoopIdNext: () => string;\r\n readonly getScrollPosition: () => number;\r\n private logs: unknown[][] = [];\r\n\r\n constructor(scroller: Scroller, packageInfo: IPackages, adapter?: { id: number }) {\r\n const { settings } = scroller;\r\n this.debug = settings.debug;\r\n this.immediateLog = settings.immediateLog;\r\n this.logTime = settings.logTime;\r\n this.getTime = (): string =>\r\n scroller.state && ` // time: ${scroller.state.time}`;\r\n this.getStat = (): string => {\r\n const { buffer, viewport } = scroller;\r\n const first = buffer.getFirstVisibleItem();\r\n const last = buffer.getLastVisibleItem();\r\n return 'pos: ' + viewport.scrollPosition + ', ' +\r\n 'size: ' + viewport.getScrollableSize() + ', ' +\r\n 'bwd_p: ' + viewport.paddings.backward.size + ', ' +\r\n 'fwd_p: ' + viewport.paddings.forward.size + ', ' +\r\n 'default: ' + (buffer.defaultSize || 'no') + ', ' +\r\n 'items: ' + buffer.getVisibleItemsCount() + ', ' +\r\n 'range: ' + (first && last ? `[${first.$index}..${last.$index}]` : 'no');\r\n };\r\n this.getFetchRange = (): string => {\r\n const { first: { index: first }, last: { index: last } } = scroller.state.fetch;\r\n return !Number.isNaN(first) && !Number.isNaN(last)\r\n ? `[${first}..${last}]`\r\n : 'no';\r\n };\r\n this.getLoopId = (): string => scroller.state.cycle.loopId;\r\n this.getLoopIdNext = (): string => scroller.state.cycle.loopIdNext;\r\n this.getWorkflowCycleData = (): string =>\r\n `${settings.instanceIndex}-${scroller.state.cycle.count}`;\r\n this.getScrollPosition = () => scroller.routines.getScrollPosition();\r\n this.log(() =>\r\n 'vscroll Workflow has been started, ' +\r\n `core: ${packageInfo.core.name} v${packageInfo.core.version}, ` +\r\n `consumer: ${packageInfo.consumer.name} v${packageInfo.consumer.version}, ` +\r\n `scroller instance: ${settings.instanceIndex}, adapter ` +\r\n (!adapter ? 'is not instantiated' : `instance: ${adapter.id}`)\r\n );\r\n }\r\n\r\n object(str: string, obj: unknown, stringify?: boolean): void {\r\n this.log(() => [\r\n str,\r\n stringify\r\n ? JSON.stringify(obj, (k, v) => {\r\n if (Number.isNaN(v)) {\r\n return 'NaN';\r\n }\r\n if (v === Infinity) {\r\n return 'Infinity';\r\n }\r\n if (v === -Infinity) {\r\n return '-Infinity';\r\n }\r\n if (v instanceof Element) {\r\n return 'HTMLElement';\r\n }\r\n if (v instanceof HTMLDocument) {\r\n return 'HTMLDocument';\r\n }\r\n if (typeof v === 'function') {\r\n return 'Function';\r\n }\r\n return v;\r\n })\r\n .replace(/\"/g, '')\r\n .replace(/(\\{|:|,)/g, '$1 ')\r\n .replace(/(\\})/g, ' $1')\r\n : obj\r\n ]);\r\n }\r\n\r\n stat(str?: string): void {\r\n if (this.debug) {\r\n const logStyles = [\r\n 'color: #888; border: dashed #888 0; border-bottom-width: 0px',\r\n 'color: #000; border-width: 0'\r\n ];\r\n this.log(() => ['%cstat' + (str ? ` ${str}` : '') + ',%c ' + this.getStat(), ...logStyles]);\r\n }\r\n }\r\n\r\n fetch(str?: string): void {\r\n if (this.debug) {\r\n const _text = 'fetch interval' + (str ? ` ${str}` : '');\r\n const logStyles = ['color: #888', 'color: #000'];\r\n this.log(() => [`%c${_text}: %c${this.getFetchRange()}`, ...logStyles]);\r\n }\r\n }\r\n\r\n prepareForLog(data: unknown): unknown {\r\n return data instanceof Event && data.target\r\n ? this.getScrollPosition()\r\n : data;\r\n }\r\n\r\n logProcess(data: ProcessSubject): void {\r\n if (!this.debug) {\r\n return;\r\n }\r\n const { process, status, payload } = data;\r\n\r\n // inner loop start-end log\r\n const loopLog: string[] = [];\r\n if (\r\n process === CommonProcess.init && status === Status.next\r\n ) {\r\n loopLog.push(`%c---=== loop ${this.getLoopIdNext()} start`);\r\n } else if (\r\n process === CommonProcess.end\r\n ) {\r\n loopLog.push(`%c---=== loop ${this.getLoopId()} done`);\r\n const parent = payload && payload.process;\r\n if (status === Status.next && (parent !== AdapterProcess.reset && parent !== AdapterProcess.reload)) {\r\n loopLog[0] += `, loop ${this.getLoopIdNext()} start`;\r\n }\r\n }\r\n if (loopLog.length) {\r\n this.log(() => [...loopLog, 'color: #006600;']);\r\n }\r\n }\r\n\r\n logCycle(start = true): void {\r\n const logData = this.getWorkflowCycleData();\r\n const border = start ? '1px 0 0 1px' : '0 0 1px 1px';\r\n const logStyles = `color: #0000aa; border: solid #555 1px; border-width: ${border}; margin-left: -2px`;\r\n this.log(() => [`%c ~~~ WF Cycle ${logData} ${start ? 'STARTED' : 'FINALIZED'} ~~~ `, logStyles]);\r\n }\r\n\r\n logError(str: string): void {\r\n if (this.debug) {\r\n const logStyles = ['color: #a00;', 'color: #000'];\r\n this.log(() => ['error:%c' + (str ? ` ${str}` : '') + `%c (loop ${this.getLoopIdNext()})`, ...logStyles]);\r\n }\r\n }\r\n\r\n logAdapterMethod = (methodName: string, args?: unknown, add?: string): void => {\r\n if (!this.debug) {\r\n return;\r\n }\r\n const params = (\r\n args === void 0 ? [] : (Array.isArray(args) ? args : [args])\r\n )\r\n .map((arg: unknown) => {\r\n if (typeof arg === 'function') {\r\n return 'func';\r\n } else if (typeof arg !== 'object' || !arg) {\r\n return arg;\r\n } else if (Array.isArray(arg)) {\r\n return `[of ${arg.length}]`;\r\n }\r\n return '{ ' + Object.keys(arg).join(', ') + ' }';\r\n })\r\n .join(', ');\r\n this.log(`adapter: ${methodName}(${params || ''})${add || ''}`);\r\n };\r\n\r\n log(...args: unknown[]): void {\r\n if (this.debug) {\r\n if (typeof args[0] === 'function') {\r\n args = args[0]();\r\n if (!Array.isArray(args)) {\r\n args = [args];\r\n }\r\n }\r\n if (args.every(item => item === void 0)) {\r\n return;\r\n }\r\n if (this.logTime) {\r\n args = [...args, this.getTime()];\r\n }\r\n args = args.map((arg: unknown) => this.prepareForLog(arg));\r\n if (this.immediateLog) {\r\n console.log.apply(this, args as LogType);\r\n } else {\r\n this.logs.push(args);\r\n }\r\n }\r\n }\r\n\r\n // logNow(...args: unknown[]) {\r\n // const immediateLog = this.immediateLog;\r\n // const debug = this.debug;\r\n // (this as any).debug = true;\r\n // (this as any).immediateLog = true;\r\n // this.log.apply(this, args);\r\n // (this as any).debug = debug;\r\n // (this as any).immediateLog = immediateLog;\r\n // }\r\n\r\n logForce(...args: unknown[]): void {\r\n if (this.debug) {\r\n if (!this.immediateLog && this.logs.length) {\r\n this.logs.forEach(logArgs => console.log.apply(this, logArgs));\r\n this.logs = [];\r\n }\r\n if (args.length) {\r\n console.log.apply(this, args as LogType);\r\n }\r\n }\r\n }\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/classes/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scroller } from '../scroller';\nimport { CommonProcess, AdapterProcess, ProcessStatus as Status } from '../processes/index';\nimport { IPackages, ProcessSubject } from '../interfaces/index';\n\ntype LogType = [unknown?, ...unknown[]];\n\nexport class Logger {\n readonly debug: boolean;\n readonly immediateLog: boolean;\n readonly logTime: boolean;\n readonly logColor: boolean;\n readonly getTime: () => string;\n readonly getStat: () => string;\n readonly getFetchRange: () => string;\n readonly getWorkflowCycleData: () => string;\n readonly getLoopId: () => string;\n readonly getLoopIdNext: () => string;\n readonly getScrollPosition: () => number;\n private logs: LogType[] = [];\n\n constructor(scroller: Scroller, packageInfo: IPackages, adapter?: { id: number }) {\n const { settings } = scroller;\n this.debug = settings.debug;\n this.immediateLog = settings.immediateLog;\n this.logTime = settings.logTime;\n this.logColor = settings.logColor;\n this.getTime = (): string => scroller.state && ` // time: ${scroller.state.time}`;\n this.getStat = (): string => {\n const { buffer, viewport } = scroller;\n const first = buffer.getFirstVisibleItem();\n const last = buffer.getLastVisibleItem();\n return (\n 'pos: ' +\n viewport.scrollPosition +\n ', ' +\n 'size: ' +\n viewport.getScrollableSize() +\n ', ' +\n 'bwd_p: ' +\n viewport.paddings.backward.size +\n ', ' +\n 'fwd_p: ' +\n viewport.paddings.forward.size +\n ', ' +\n 'default: ' +\n (buffer.defaultSize || 'no') +\n ', ' +\n 'items: ' +\n buffer.getVisibleItemsCount() +\n ', ' +\n 'range: ' +\n (first && last ? `[${first.$index}..${last.$index}]` : 'no')\n );\n };\n this.getFetchRange = (): string => {\n const {\n first: { index: first },\n last: { index: last }\n } = scroller.state.fetch;\n return !Number.isNaN(first) && !Number.isNaN(last) ? `[${first}..${last}]` : 'no';\n };\n this.getLoopId = (): string => scroller.state.cycle.loopId;\n this.getLoopIdNext = (): string => scroller.state.cycle.loopIdNext;\n this.getWorkflowCycleData = (): string =>\n `${settings.instanceIndex}-${scroller.state.cycle.count}`;\n this.getScrollPosition = () => scroller.routines.getScrollPosition();\n this.log(\n () =>\n 'vscroll Workflow has been started, ' +\n `core: ${packageInfo.core.name} v${packageInfo.core.version}, ` +\n `consumer: ${packageInfo.consumer.name} v${packageInfo.consumer.version}, ` +\n `scroller instance: ${settings.instanceIndex}, adapter ` +\n (!adapter ? 'is not instantiated' : `instance: ${adapter.id}`)\n );\n }\n\n object(str: string, obj: unknown, stringify?: boolean): void {\n this.log(() => [\n str,\n stringify\n ? JSON.stringify(obj, (_, v) => {\n if (Number.isNaN(v)) {\n return 'NaN';\n }\n if (v === Infinity) {\n return 'Infinity';\n }\n if (v === -Infinity) {\n return '-Infinity';\n }\n if (v instanceof Element) {\n return 'HTMLElement';\n }\n if (v instanceof HTMLDocument) {\n return 'HTMLDocument';\n }\n if (typeof v === 'function') {\n return 'Function';\n }\n return v;\n })\n .replace(/\"/g, '')\n .replace(/(\\{|:|,)/g, '$1 ')\n .replace(/(\\})/g, ' $1')\n : obj\n ]);\n }\n\n stat(str?: string): void {\n if (this.debug) {\n if (this.logColor) {\n const logStyles = [\n 'color: #888; border: dashed #888 0; border-bottom-width: 0px',\n 'color: #000; border-width: 0'\n ];\n this.log(() => ['%cstat' + (str ? ` ${str}` : '') + ',%c ' + this.getStat(), ...logStyles]);\n } else {\n this.log(() => ['stat' + (str ? ` ${str}` : '') + ', ' + this.getStat()]);\n }\n }\n }\n\n fetch(str?: string): void {\n if (this.debug) {\n const _text = 'fetch interval' + (str ? ` ${str}` : '');\n if (this.logColor) {\n const logStyles = ['color: #888', 'color: #000'];\n this.log(() => [`%c${_text}: %c${this.getFetchRange()}`, ...logStyles]);\n } else {\n this.log(() => [`${_text}: ${this.getFetchRange()}`]);\n }\n }\n }\n\n prepareForLog(data: unknown): unknown {\n return data instanceof Event && data.target ? this.getScrollPosition() : data;\n }\n\n logProcess(data: ProcessSubject): void {\n if (!this.debug) {\n return;\n }\n const { process, status, payload } = data;\n\n // inner loop start-end log\n const loopLog: string[] = [];\n if (process === CommonProcess.init && status === Status.next) {\n const loopStart = `---=== loop ${this.getLoopIdNext()} start`;\n loopLog.push(this.logColor ? `%c${loopStart}` : loopStart);\n } else if (process === CommonProcess.end) {\n const loopDone = `---=== loop ${this.getLoopId()} done`;\n loopLog.push(this.logColor ? `%c${loopDone}` : loopDone);\n const parent = payload && payload.process;\n if (\n status === Status.next &&\n parent !== AdapterProcess.reset &&\n parent !== AdapterProcess.reload\n ) {\n loopLog[0] += `, loop ${this.getLoopIdNext()} start`;\n }\n }\n if (loopLog.length) {\n this.log(() => (this.logColor ? [...loopLog, 'color: #006600;'] : loopLog));\n }\n }\n\n logCycle(start = true): void {\n const logData = this.getWorkflowCycleData();\n if (this.logColor) {\n const border = start ? '1px 0 0 1px' : '0 0 1px 1px';\n const logStyles = `color: #0000aa; border: solid #555 1px; border-width: ${border}; margin-left: -2px`;\n this.log(() => [\n `%c ~~~ WF Cycle ${logData} ${start ? 'STARTED' : 'FINALIZED'} ~~~ `,\n logStyles\n ]);\n } else {\n this.log(() => [` ~~~ WF Cycle ${logData} ${start ? 'STARTED' : 'FINALIZED'} ~~~ `]);\n }\n }\n\n logError(str: string): void {\n if (this.debug) {\n if (this.logColor) {\n const logStyles = ['color: #a00;', 'color: #000'];\n this.log(() => [\n 'error:%c' + (str ? ` ${str}` : '') + `%c (loop ${this.getLoopIdNext()})`,\n ...logStyles\n ]);\n } else {\n this.log(() => ['error:' + (str ? ` ${str}` : '') + ` (loop ${this.getLoopIdNext()})`]);\n }\n }\n }\n\n logAdapterMethod = (methodName: string, args?: unknown, add?: string): void => {\n if (!this.debug) {\n return;\n }\n const params = (args === void 0 ? [] : Array.isArray(args) ? args : [args])\n .map((arg: unknown) => {\n if (typeof arg === 'function') {\n return 'func';\n } else if (typeof arg !== 'object' || !arg) {\n return arg;\n } else if (Array.isArray(arg)) {\n return `[of ${arg.length}]`;\n }\n return '{ ' + Object.keys(arg).join(', ') + ' }';\n })\n .join(', ');\n this.log(`adapter: ${methodName}(${params || ''})${add || ''}`);\n };\n\n log(...args: unknown[]): void {\n if (this.debug) {\n if (typeof args[0] === 'function') {\n args = args[0]();\n if (!Array.isArray(args)) {\n args = [args];\n }\n }\n if (args.every(item => item === void 0)) {\n return;\n }\n if (this.logTime) {\n args = [...args, this.getTime()];\n }\n args = args.map((arg: unknown) => this.prepareForLog(arg));\n if (this.immediateLog) {\n console.log.apply(this, args as LogType);\n } else {\n this.logs.push(args);\n }\n }\n }\n\n // logNow(...args: unknown[]) {\n // const immediateLog = this.immediateLog;\n // const debug = this.debug;\n // (this as any).debug = true;\n // (this as any).immediateLog = true;\n // this.log.apply(this, args);\n // (this as any).debug = debug;\n // (this as any).immediateLog = immediateLog;\n // }\n\n logForce(...args: unknown[]): void {\n if (this.debug) {\n if (!this.immediateLog && this.logs.length) {\n this.logs.forEach(logArgs => console.log.apply(this, logArgs));\n this.logs = [];\n }\n if (args.length) {\n console.log.apply(this, args as LogType);\n }\n }\n }\n\n getLogs(): LogType[] {\n return this.logs;\n }\n}\n"]}
|
|
@@ -1,73 +1,77 @@
|
|
|
1
|
-
import { Direction } from '../inputs/index';
|
|
2
|
-
export class Padding {
|
|
3
|
-
constructor(direction, routines) {
|
|
4
|
-
const found = routines.findPaddingElement(direction);
|
|
5
|
-
routines.checkElement(found);
|
|
6
|
-
this.element = found;
|
|
7
|
-
this.direction = direction;
|
|
8
|
-
this.routines = routines;
|
|
9
|
-
}
|
|
10
|
-
reset(size) {
|
|
11
|
-
this.size = size || 0;
|
|
12
|
-
}
|
|
13
|
-
get size() {
|
|
14
|
-
return this.routines.getSizeStyle(this.element);
|
|
15
|
-
}
|
|
16
|
-
set size(value) {
|
|
17
|
-
this.routines.setSizeStyle(this.element, value);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
export class Paddings {
|
|
21
|
-
constructor(routines, settings) {
|
|
22
|
-
this.settings = settings;
|
|
23
|
-
this.forward = new Padding(Direction.forward, routines);
|
|
24
|
-
this.backward = new Padding(Direction.backward, routines);
|
|
25
|
-
}
|
|
26
|
-
byDirection(direction, opposite) {
|
|
27
|
-
return direction === Direction.backward
|
|
28
|
-
?
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
1
|
+
import { Direction } from '../inputs/index';
|
|
2
|
+
export class Padding {
|
|
3
|
+
constructor(direction, routines) {
|
|
4
|
+
const found = routines.findPaddingElement(direction);
|
|
5
|
+
routines.checkElement(found);
|
|
6
|
+
this.element = found;
|
|
7
|
+
this.direction = direction;
|
|
8
|
+
this.routines = routines;
|
|
9
|
+
}
|
|
10
|
+
reset(size) {
|
|
11
|
+
this.size = size || 0;
|
|
12
|
+
}
|
|
13
|
+
get size() {
|
|
14
|
+
return this.routines.getSizeStyle(this.element);
|
|
15
|
+
}
|
|
16
|
+
set size(value) {
|
|
17
|
+
this.routines.setSizeStyle(this.element, value);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export class Paddings {
|
|
21
|
+
constructor(routines, settings) {
|
|
22
|
+
this.settings = settings;
|
|
23
|
+
this.forward = new Padding(Direction.forward, routines);
|
|
24
|
+
this.backward = new Padding(Direction.backward, routines);
|
|
25
|
+
}
|
|
26
|
+
byDirection(direction, opposite) {
|
|
27
|
+
return direction === Direction.backward
|
|
28
|
+
? opposite
|
|
29
|
+
? this.forward
|
|
30
|
+
: this.backward
|
|
31
|
+
: opposite
|
|
32
|
+
? this.backward
|
|
33
|
+
: this.forward;
|
|
34
|
+
}
|
|
35
|
+
reset(viewportSize, startIndex, offset) {
|
|
36
|
+
const positive = this.getPositiveSize(startIndex, viewportSize, offset);
|
|
37
|
+
const negative = this.getNegativeSize(startIndex);
|
|
38
|
+
if (this.settings.inverse) {
|
|
39
|
+
this.forward.reset(negative);
|
|
40
|
+
this.backward.reset(positive);
|
|
41
|
+
const diff = viewportSize - this.backward.size - offset;
|
|
42
|
+
if (diff > 0) {
|
|
43
|
+
this.backward.size += diff;
|
|
44
|
+
this.forward.size -= diff;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
this.forward.reset(positive);
|
|
49
|
+
this.backward.reset(negative);
|
|
50
|
+
const diff = viewportSize - this.forward.size - offset;
|
|
51
|
+
if (diff > 0) {
|
|
52
|
+
this.backward.size -= diff;
|
|
53
|
+
this.forward.size += diff;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
getPositiveSize(startIndex, viewportSize, offset) {
|
|
58
|
+
const { settings } = this;
|
|
59
|
+
let positiveSize = viewportSize;
|
|
60
|
+
if (isFinite(settings.maxIndex)) {
|
|
61
|
+
positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;
|
|
62
|
+
}
|
|
63
|
+
if (offset) {
|
|
64
|
+
positiveSize = Math.max(positiveSize - offset, 0);
|
|
65
|
+
}
|
|
66
|
+
return positiveSize;
|
|
67
|
+
}
|
|
68
|
+
getNegativeSize(startIndex) {
|
|
69
|
+
const { settings } = this;
|
|
70
|
+
let negativeSize = 0;
|
|
71
|
+
if (isFinite(settings.minIndex)) {
|
|
72
|
+
negativeSize = (startIndex - settings.minIndex) * settings.itemSize;
|
|
73
|
+
}
|
|
74
|
+
return negativeSize;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
73
77
|
//# sourceMappingURL=paddings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,OAAO,OAAO;
|
|
1
|
+
{"version":3,"file":"paddings.js","sourceRoot":"","sources":["../../../src/classes/paddings.ts"],"names":[],"mappings":"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","sourcesContent":["import { Routines } from './domRoutines';\nimport { Settings } from './settings';\nimport { Direction } from '../inputs/index';\n\nexport class Padding {\n element: HTMLElement;\n direction: Direction;\n routines: Routines;\n\n constructor(direction: Direction, routines: Routines) {\n const found = routines.findPaddingElement(direction);\n routines.checkElement(found as HTMLElement);\n this.element = found as HTMLElement;\n this.direction = direction;\n this.routines = routines;\n }\n\n reset(size?: number): void {\n this.size = size || 0;\n }\n\n get size(): number {\n return this.routines.getSizeStyle(this.element);\n }\n\n set size(value: number) {\n this.routines.setSizeStyle(this.element, value);\n }\n}\n\nexport class Paddings {\n settings: Settings;\n forward: Padding;\n backward: Padding;\n\n constructor(routines: Routines, settings: Settings) {\n this.settings = settings;\n this.forward = new Padding(Direction.forward, routines);\n this.backward = new Padding(Direction.backward, routines);\n }\n\n byDirection(direction: Direction, opposite?: boolean): Padding {\n return direction === Direction.backward\n ? opposite\n ? this.forward\n : this.backward\n : opposite\n ? this.backward\n : this.forward;\n }\n\n reset(viewportSize: number, startIndex: number, offset: number): void {\n const positive = this.getPositiveSize(startIndex, viewportSize, offset);\n const negative = this.getNegativeSize(startIndex);\n if (this.settings.inverse) {\n this.forward.reset(negative);\n this.backward.reset(positive);\n const diff = viewportSize - this.backward.size - offset;\n if (diff > 0) {\n this.backward.size += diff;\n this.forward.size -= diff;\n }\n } else {\n this.forward.reset(positive);\n this.backward.reset(negative);\n const diff = viewportSize - this.forward.size - offset;\n if (diff > 0) {\n this.backward.size -= diff;\n this.forward.size += diff;\n }\n }\n }\n\n getPositiveSize(startIndex: number, viewportSize: number, offset: number): number {\n const { settings } = this;\n let positiveSize = viewportSize;\n if (isFinite(settings.maxIndex)) {\n positiveSize = (settings.maxIndex - startIndex + 1) * settings.itemSize;\n }\n if (offset) {\n positiveSize = Math.max(positiveSize - offset, 0);\n }\n return positiveSize;\n }\n\n getNegativeSize(startIndex: number): number {\n const { settings } = this;\n let negativeSize = 0;\n if (isFinite(settings.minIndex)) {\n negativeSize = (startIndex - settings.minIndex) * settings.itemSize;\n }\n return negativeSize;\n }\n}\n"]}
|
|
@@ -1,55 +1,55 @@
|
|
|
1
|
-
export class Reactive {
|
|
2
|
-
constructor(value, options) {
|
|
3
|
-
this.id = 0;
|
|
4
|
-
if (value !== void 0) {
|
|
5
|
-
this.value = value;
|
|
6
|
-
this.initialValue = value;
|
|
7
|
-
}
|
|
8
|
-
this.options = options || {};
|
|
9
|
-
this.subscriptions = new Map();
|
|
10
|
-
}
|
|
11
|
-
set(value) {
|
|
12
|
-
if (this.value === value && !this.options.emitEqual) {
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
this.value = value;
|
|
16
|
-
for (const [, sub] of this.subscriptions) {
|
|
17
|
-
sub.emit(value);
|
|
18
|
-
if (this.value !== value) {
|
|
19
|
-
break;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
get() {
|
|
24
|
-
return this.value;
|
|
25
|
-
}
|
|
26
|
-
on(func) {
|
|
27
|
-
const id = this.id++;
|
|
28
|
-
const subscription = {
|
|
29
|
-
emit: func,
|
|
30
|
-
off: () => {
|
|
31
|
-
subscription.emit = () => null;
|
|
32
|
-
this.subscriptions.delete(id);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
this.subscriptions.set(id, subscription);
|
|
36
|
-
if (this.options.emitOnSubscribe) {
|
|
37
|
-
subscription.emit(this.value);
|
|
38
|
-
}
|
|
39
|
-
return () => subscription.off();
|
|
40
|
-
}
|
|
41
|
-
once(func) {
|
|
42
|
-
const off = this.on(v => {
|
|
43
|
-
off();
|
|
44
|
-
func(v);
|
|
45
|
-
});
|
|
46
|
-
return off;
|
|
47
|
-
}
|
|
48
|
-
reset() {
|
|
49
|
-
this.set(this.initialValue);
|
|
50
|
-
}
|
|
51
|
-
dispose() {
|
|
52
|
-
this.subscriptions.forEach(sub => sub.off());
|
|
53
|
-
}
|
|
54
|
-
}
|
|
1
|
+
export class Reactive {
|
|
2
|
+
constructor(value, options) {
|
|
3
|
+
this.id = 0;
|
|
4
|
+
if (value !== void 0) {
|
|
5
|
+
this.value = value;
|
|
6
|
+
this.initialValue = value;
|
|
7
|
+
}
|
|
8
|
+
this.options = options || {};
|
|
9
|
+
this.subscriptions = new Map();
|
|
10
|
+
}
|
|
11
|
+
set(value) {
|
|
12
|
+
if (this.value === value && !this.options.emitEqual) {
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
this.value = value;
|
|
16
|
+
for (const [, sub] of this.subscriptions) {
|
|
17
|
+
sub.emit(value);
|
|
18
|
+
if (this.value !== value) {
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
get() {
|
|
24
|
+
return this.value;
|
|
25
|
+
}
|
|
26
|
+
on(func) {
|
|
27
|
+
const id = this.id++;
|
|
28
|
+
const subscription = {
|
|
29
|
+
emit: func,
|
|
30
|
+
off: () => {
|
|
31
|
+
subscription.emit = () => null;
|
|
32
|
+
this.subscriptions.delete(id);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
this.subscriptions.set(id, subscription);
|
|
36
|
+
if (this.options.emitOnSubscribe) {
|
|
37
|
+
subscription.emit(this.value);
|
|
38
|
+
}
|
|
39
|
+
return () => subscription.off();
|
|
40
|
+
}
|
|
41
|
+
once(func) {
|
|
42
|
+
const off = this.on(v => {
|
|
43
|
+
off();
|
|
44
|
+
func(v);
|
|
45
|
+
});
|
|
46
|
+
return off;
|
|
47
|
+
}
|
|
48
|
+
reset() {
|
|
49
|
+
this.set(this.initialValue);
|
|
50
|
+
}
|
|
51
|
+
dispose() {
|
|
52
|
+
this.subscriptions.forEach(sub => sub.off());
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
55
|
//# sourceMappingURL=reactive.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,QAAQ;
|
|
1
|
+
{"version":3,"file":"reactive.js","sourceRoot":"","sources":["../../../src/classes/reactive.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,QAAQ;IAOnB,YAAY,KAAS,EAAE,OAAiB;QACtC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC5B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,GAAG,CAAC,KAAQ;QACV,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACpD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,KAAK,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACzC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChB,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;gBACzB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,EAAE,CAAC,IAAW;QACZ,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,MAAM,YAAY,GAAoB;YACpC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,GAAG,EAAE;gBACR,YAAY,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChC,CAAC;SACF,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,IAAW;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YACtB,GAAG,EAAE,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC;CACF","sourcesContent":["type On<T> = (value: T) => void;\ntype Off = () => void;\n\ninterface Subscription<T> {\n emit: On<T>;\n off: Off;\n}\n\ninterface Options {\n emitOnSubscribe?: boolean; // if set, emit right on subscribe (like rxjs BehaviorSubject)\n emitEqual?: boolean; // if set, emit when new value is equal to the old one\n}\n\nexport class Reactive<T> {\n private initialValue: T;\n private value: T;\n private id: number;\n private options: Options;\n private subscriptions: Map<number, Subscription<T>>;\n\n constructor(value?: T, options?: Options) {\n this.id = 0;\n if (value !== void 0) {\n this.value = value;\n this.initialValue = value;\n }\n this.options = options || {};\n this.subscriptions = new Map();\n }\n\n set(value: T): void {\n if (this.value === value && !this.options.emitEqual) {\n return;\n }\n this.value = value;\n for (const [, sub] of this.subscriptions) {\n sub.emit(value);\n if (this.value !== value) {\n break;\n }\n }\n }\n\n get(): T {\n return this.value;\n }\n\n on(func: On<T>): Off {\n const id = this.id++;\n const subscription: Subscription<T> = {\n emit: func,\n off: () => {\n subscription.emit = () => null;\n this.subscriptions.delete(id);\n }\n };\n this.subscriptions.set(id, subscription);\n if (this.options.emitOnSubscribe) {\n subscription.emit(this.value);\n }\n return () => subscription.off();\n }\n\n once(func: On<T>): Off {\n const off = this.on(v => {\n off();\n func(v);\n });\n return off;\n }\n\n reset(): void {\n this.set(this.initialValue);\n }\n\n dispose(): void {\n this.subscriptions.forEach(sub => sub.off());\n }\n}\n"]}
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
|
|
2
|
-
export class Settings {
|
|
3
|
-
constructor(settings, devSettings, instanceIndex) {
|
|
4
|
-
this.parseInput(settings, SETTINGS);
|
|
5
|
-
this.parseInput(devSettings, DEV_SETTINGS);
|
|
6
|
-
this.instanceIndex = instanceIndex;
|
|
7
|
-
this.initializeDelay = this.getInitializeDelay();
|
|
8
|
-
this.viewport = this.getViewport();
|
|
9
|
-
// todo: min/max indexes must be ignored if infinite mode is enabled ??
|
|
10
|
-
}
|
|
11
|
-
parseInput(input, props) {
|
|
12
|
-
const result = validate(input, props);
|
|
13
|
-
if (!result.isValid) {
|
|
14
|
-
throw new Error('Invalid settings');
|
|
15
|
-
}
|
|
16
|
-
Object.entries(result.params).forEach(([key, par]) => Object.assign(this, { [key]: par.value }));
|
|
17
|
-
}
|
|
18
|
-
getInitializeDelay() {
|
|
19
|
-
let result = 0;
|
|
20
|
-
if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
|
|
21
|
-
result = this.initWindowDelay;
|
|
22
|
-
}
|
|
23
|
-
if (this.initDelay > 0) {
|
|
24
|
-
result = Math.max(result, this.initDelay);
|
|
25
|
-
}
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
getViewport() {
|
|
29
|
-
if (typeof this.viewportElement !== 'function') {
|
|
30
|
-
return this.viewportElement;
|
|
31
|
-
}
|
|
32
|
-
const value = this.viewportElement();
|
|
33
|
-
const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });
|
|
34
|
-
if (!result.isValid) {
|
|
35
|
-
return null; // fallback to default (null) if Function didn't return HTML element synchronously
|
|
36
|
-
}
|
|
37
|
-
return result.value;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
1
|
+
import { SETTINGS, DEV_SETTINGS, validate, validateOne, VALIDATORS } from '../inputs/index';
|
|
2
|
+
export class Settings {
|
|
3
|
+
constructor(settings, devSettings, instanceIndex) {
|
|
4
|
+
this.parseInput(settings, SETTINGS);
|
|
5
|
+
this.parseInput(devSettings, DEV_SETTINGS);
|
|
6
|
+
this.instanceIndex = instanceIndex;
|
|
7
|
+
this.initializeDelay = this.getInitializeDelay();
|
|
8
|
+
this.viewport = this.getViewport();
|
|
9
|
+
// todo: min/max indexes must be ignored if infinite mode is enabled ??
|
|
10
|
+
}
|
|
11
|
+
parseInput(input, props) {
|
|
12
|
+
const result = validate(input, props);
|
|
13
|
+
if (!result.isValid) {
|
|
14
|
+
throw new Error('Invalid settings');
|
|
15
|
+
}
|
|
16
|
+
Object.entries(result.params).forEach(([key, par]) => Object.assign(this, { [key]: par.value }));
|
|
17
|
+
}
|
|
18
|
+
getInitializeDelay() {
|
|
19
|
+
let result = 0;
|
|
20
|
+
if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {
|
|
21
|
+
result = this.initWindowDelay;
|
|
22
|
+
}
|
|
23
|
+
if (this.initDelay > 0) {
|
|
24
|
+
result = Math.max(result, this.initDelay);
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
getViewport() {
|
|
29
|
+
if (typeof this.viewportElement !== 'function') {
|
|
30
|
+
return this.viewportElement;
|
|
31
|
+
}
|
|
32
|
+
const value = this.viewportElement();
|
|
33
|
+
const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });
|
|
34
|
+
if (!result.isValid) {
|
|
35
|
+
return null; // fallback to default (null) if Function didn't return HTML element synchronously
|
|
36
|
+
}
|
|
37
|
+
return result.value;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
40
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/classes/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,UAAU,EAGX,MAAM,iBAAiB,CAAC;AAQzB,MAAM,OAAO,QAAQ;IAwInB,YACE,QAAqC,EACrC,WAAqC,EACrC,aAAqB;QAErB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,uEAAuE;IACzE,CAAC;IAED,UAAU,CACR,KAAiD,EACjD,KAAgC;QAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CACnD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAC1C,CAAC;IACJ,CAAC;IAED,kBAAkB;QAChB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC,mBAAmB,IAAI,OAAO,CAAC,EAAE,CAAC;YACrF,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,WAAW;QACT,IAAI,OAAO,IAAI,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,eAAe,CAAC;QAC9B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,CAAC,kFAAkF;QACjG,CAAC;QACD,OAAO,MAAM,CAAC,KAAoB,CAAC;IACrC,CAAC;CACF","sourcesContent":["import {\n SETTINGS,\n DEV_SETTINGS,\n validate,\n validateOne,\n VALIDATORS,\n SizeStrategy,\n Direction\n} from '../inputs/index';\nimport {\n Settings as ISettings,\n DevSettings as IDevSettings,\n ICommonProps,\n ItemsProcessor\n} from '../interfaces/index';\n\nexport class Settings<Data = unknown> implements ISettings, IDevSettings {\n // user settings\n adapter: boolean;\n startIndex: number;\n minIndex: number;\n maxIndex: number;\n itemSize: number;\n bufferSize: number;\n padding: number;\n infinite: boolean;\n horizontal: boolean;\n windowViewport: boolean;\n viewportElement: HTMLElement | (() => void) | null;\n inverse: boolean; // if true, bwd padding element will have a priority when filling the viewport (if lack of items)\n onBeforeClip: ItemsProcessor | null; // if set, it will be run before clipping items from Buffer after they are hidden\n sizeStrategy: SizeStrategy; // \"average\" | \"frequent\", determines behavior of unknown items\n\n /**\n * Development setting.\n * If true, logging is enabled.\n * Default value: false.\n * @type {boolean}\n */\n debug: boolean; // if true,\n\n /**\n * Development setting.\n * If false, in-memory logging is enabled, Adapter.showLog() method should be called to print the log.\n * Default value: true.\n * @type {boolean}\n */\n immediateLog: boolean;\n\n /**\n * Development setting.\n * If true, time differences will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logTime: boolean;\n\n /**\n * Development setting.\n * If true, process fire/run info will be logged.\n * Default value: false.\n * @type {boolean}\n */\n logProcessRun: boolean;\n\n /**\n * Development setting.\n * If true, console color formatting will be used in logs.\n * Default value: true.\n * @type {boolean}\n */\n logColor: boolean;\n\n /**\n * Development setting.\n * If set, scroll event handling is throttled (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n throttle: number;\n\n /**\n * Development setting.\n * If set, the Workflow initialization will be postponed (ms).\n * Default value: 1. Minimal value: 0.\n * @type {number} ms\n */\n initDelay: number;\n\n /**\n * Development setting.\n * If set and the entire window is scrollable, the Workflow initialization will be postponed (ms).\n * Default value: 40. Minimal value: 0.\n * @type {number} ms\n */\n initWindowDelay: number;\n\n /**\n * Development setting.\n * If true, item's data will be cached along with item's size and index.\n * Default value: false.\n * @type {boolean}\n */\n cacheData: boolean;\n\n /**\n * Development setting.\n * If true, cache will not be flushed on reload.\n * Default value: false.\n * @type {boolean}\n */\n cacheOnReload: boolean;\n\n /**\n * Development setting.\n * If true, the viewport will receive \"overflowAnchor: none\" css property.\n * Default value: false.\n * @type {boolean}\n */\n dismissOverflowAnchor: boolean;\n\n /**\n * Development setting.\n * Determines the strategy of fixing the difference between estimated and real (rendered) sizes\n * on scroll position adjustments. If set to 'backward', the difference is always resolved in favour of the\n * backward direction: top/left content is fixed and appears in accordance with pre-render expectations.\n * If set to 'forward', both directions could be used, and there is a case when bottom/right content is fixed:\n * new items are to the left of the previously rendered\n * and at least one previously rendered item remains.\n * Default value: 'backward'. Allowed values: 'backward', 'forward'.\n * @type {string}\n */\n directionPriority: Direction;\n\n /**\n * Internal setting. Stores the index of the Scroller instance.\n * @type {number}\n */\n instanceIndex: number;\n\n /**\n * Internal setting. Stores the Workflow initialization delay based on initDelay and initWindowDelay settings.\n * @type {number}\n */\n initializeDelay: number;\n\n /**\n * Internal setting. Stores the viewport based on viewportElement setting (which can be element or function).\n * @type {HTMLElement|null}\n */\n viewport: HTMLElement | null;\n\n constructor(\n settings: ISettings<Data> | undefined,\n devSettings: IDevSettings | undefined,\n instanceIndex: number\n ) {\n this.parseInput(settings, SETTINGS);\n this.parseInput(devSettings, DEV_SETTINGS);\n this.instanceIndex = instanceIndex;\n this.initializeDelay = this.getInitializeDelay();\n this.viewport = this.getViewport();\n // todo: min/max indexes must be ignored if infinite mode is enabled ??\n }\n\n parseInput(\n input: ISettings<Data> | IDevSettings | undefined,\n props: ICommonProps<PropertyKey>\n ): void {\n const result = validate(input, props);\n if (!result.isValid) {\n throw new Error('Invalid settings');\n }\n Object.entries(result.params).forEach(([key, par]) =>\n Object.assign(this, { [key]: par.value })\n );\n }\n\n getInitializeDelay(): number {\n let result = 0;\n if (this.windowViewport && this.initWindowDelay && !('scrollRestoration' in history)) {\n result = this.initWindowDelay;\n }\n if (this.initDelay > 0) {\n result = Math.max(result, this.initDelay);\n }\n return result;\n }\n\n getViewport(): HTMLElement | null {\n if (typeof this.viewportElement !== 'function') {\n return this.viewportElement;\n }\n const value = this.viewportElement();\n const result = validateOne({ value }, 'value', { validators: [VALIDATORS.ELEMENT] });\n if (!result.isValid) {\n return null; // fallback to default (null) if Function didn't return HTML element synchronously\n }\n return result.value as HTMLElement;\n }\n}\n"]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export class ClipModel {
|
|
2
|
-
get force() {
|
|
3
|
-
return this.forceForward || this.forceBackward;
|
|
4
|
-
}
|
|
5
|
-
constructor() {
|
|
6
|
-
this.callCount = 0;
|
|
7
|
-
this.reset();
|
|
8
|
-
}
|
|
9
|
-
reset(force) {
|
|
10
|
-
this.doClip = false;
|
|
11
|
-
if (!force) {
|
|
12
|
-
this.forceForward = false;
|
|
13
|
-
this.forceBackward = false;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
1
|
+
export class ClipModel {
|
|
2
|
+
get force() {
|
|
3
|
+
return this.forceForward || this.forceBackward;
|
|
4
|
+
}
|
|
5
|
+
constructor() {
|
|
6
|
+
this.callCount = 0;
|
|
7
|
+
this.reset();
|
|
8
|
+
}
|
|
9
|
+
reset(force) {
|
|
10
|
+
this.doClip = false;
|
|
11
|
+
if (!force) {
|
|
12
|
+
this.forceForward = false;
|
|
13
|
+
this.forceBackward = false;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
17
|
//# sourceMappingURL=clip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IAMpB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;IACjD,CAAC;IAED;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"file":"clip.js","sourceRoot":"","sources":["../../../../src/classes/state/clip.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,SAAS;IAMpB,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC;IACjD,CAAC;IAED;QACE,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,KAAe;QACnB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;CACF","sourcesContent":["export class ClipModel {\n doClip: boolean;\n callCount: number;\n forceForward: boolean;\n forceBackward: boolean;\n\n get force(): boolean {\n return this.forceForward || this.forceBackward;\n }\n\n constructor() {\n this.callCount = 0;\n this.reset();\n }\n\n reset(force?: boolean): void {\n this.doClip = false;\n if (!force) {\n this.forceForward = false;\n this.forceBackward = false;\n }\n }\n}\n"]}
|