vscroll 1.5.3 → 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +283 -273
- package/dist/bundles/vscroll.esm5.js +5558 -5525
- 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 +5045 -5015
- 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 +5559 -5526
- 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 +43 -43
- package/dist/esm2015/classes/adapter/context.js.map +1 -1
- package/dist/esm2015/classes/adapter/props.js +268 -268
- 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 +455 -442
- package/dist/esm2015/classes/adapter.js.map +1 -1
- package/dist/esm2015/classes/buffer/cache.js +246 -246
- package/dist/esm2015/classes/buffer/cache.js.map +1 -1
- package/dist/esm2015/classes/buffer/checkCall.js +48 -48
- package/dist/esm2015/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm2015/classes/buffer/defaultSize.js +127 -127
- package/dist/esm2015/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm2015/classes/buffer.js +342 -342
- package/dist/esm2015/classes/buffer.js.map +1 -1
- package/dist/esm2015/classes/datasource.js +28 -28
- package/dist/esm2015/classes/domRoutines.js +166 -166
- 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 +186 -186
- package/dist/esm2015/classes/logger.js.map +1 -1
- package/dist/esm2015/classes/paddings.js +72 -72
- 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 +122 -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 +59 -59
- package/dist/esm2015/classes/viewport.js +72 -72
- package/dist/esm2015/classes/viewport.js.map +1 -1
- package/dist/esm2015/index.js +8 -8
- package/dist/esm2015/index.js.map +1 -1
- package/dist/esm2015/inputs/adapter.js +230 -230
- 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 +6 -6
- package/dist/esm2015/inputs/index.js.map +1 -1
- package/dist/esm2015/inputs/settings.js +146 -146
- package/dist/esm2015/inputs/settings.js.map +1 -1
- package/dist/esm2015/inputs/validation.js +374 -374
- package/dist/esm2015/inputs/validation.js.map +1 -1
- package/dist/esm2015/interfaces/adapter.js +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/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/state.js +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 +35 -35
- package/dist/esm2015/processes/adapter/append.js.map +1 -1
- package/dist/esm2015/processes/adapter/check.js +32 -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 +77 -77
- package/dist/esm2015/processes/adapter/fix.js.map +1 -1
- package/dist/esm2015/processes/adapter/insert.js +73 -73
- package/dist/esm2015/processes/adapter/insert.js.map +1 -1
- package/dist/esm2015/processes/adapter/reload.js +19 -20
- package/dist/esm2015/processes/adapter/reload.js.map +1 -1
- package/dist/esm2015/processes/adapter/remove.js +102 -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 +43 -43
- package/dist/esm2015/processes/adapter/update.js.map +1 -1
- package/dist/esm2015/processes/adjust.js +141 -141
- package/dist/esm2015/processes/clip.js +49 -49
- package/dist/esm2015/processes/end.js +52 -52
- package/dist/esm2015/processes/end.js.map +1 -1
- package/dist/esm2015/processes/fetch.js +91 -90
- package/dist/esm2015/processes/fetch.js.map +1 -1
- package/dist/esm2015/processes/index.js +23 -23
- package/dist/esm2015/processes/init.js +14 -14
- package/dist/esm2015/processes/init.js.map +1 -1
- package/dist/esm2015/processes/misc/base.js +30 -30
- package/dist/esm2015/processes/misc/base.js.map +1 -1
- package/dist/esm2015/processes/misc/enums.js +35 -35
- 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 +64 -64
- package/dist/esm2015/processes/postFetch.js.map +1 -1
- package/dist/esm2015/processes/preClip.js +85 -85
- package/dist/esm2015/processes/preClip.js.map +1 -1
- package/dist/esm2015/processes/preFetch.js +240 -240
- package/dist/esm2015/processes/preFetch.js.map +1 -1
- package/dist/esm2015/processes/render.js +54 -54
- package/dist/esm2015/processes/render.js.map +1 -1
- package/dist/esm2015/processes/scroll.js +97 -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 +76 -69
- 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 +210 -210
- package/dist/esm2015/workflow-transducer.js.map +1 -1
- package/dist/esm2015/workflow.js +161 -151
- package/dist/esm2015/workflow.js.map +1 -1
- package/dist/esm5/classes/adapter/context.js +50 -50
- package/dist/esm5/classes/adapter/context.js.map +1 -1
- package/dist/esm5/classes/adapter/props.js +268 -268
- 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 +504 -490
- package/dist/esm5/classes/adapter.js.map +1 -1
- package/dist/esm5/classes/buffer/cache.js +260 -260
- package/dist/esm5/classes/buffer/cache.js.map +1 -1
- package/dist/esm5/classes/buffer/checkCall.js +56 -56
- package/dist/esm5/classes/buffer/checkCall.js.map +1 -1
- package/dist/esm5/classes/buffer/defaultSize.js +145 -145
- package/dist/esm5/classes/buffer/defaultSize.js.map +1 -1
- package/dist/esm5/classes/buffer.js +409 -409
- package/dist/esm5/classes/buffer.js.map +1 -1
- package/dist/esm5/classes/datasource.js +37 -37
- package/dist/esm5/classes/domRoutines.js +182 -182
- 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 +210 -210
- package/dist/esm5/classes/logger.js.map +1 -1
- package/dist/esm5/classes/paddings.js +80 -80
- 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 +148 -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 +66 -66
- package/dist/esm5/classes/viewport.js +79 -79
- package/dist/esm5/classes/viewport.js.map +1 -1
- package/dist/esm5/index.js +8 -8
- package/dist/esm5/index.js.map +1 -1
- package/dist/esm5/inputs/adapter.js +231 -231
- 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 +6 -6
- package/dist/esm5/inputs/index.js.map +1 -1
- package/dist/esm5/inputs/settings.js +147 -147
- package/dist/esm5/inputs/settings.js.map +1 -1
- package/dist/esm5/inputs/validation.js +396 -396
- package/dist/esm5/inputs/validation.js.map +1 -1
- package/dist/esm5/interfaces/adapter.js +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/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/state.js +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 +43 -43
- package/dist/esm5/processes/adapter/append.js.map +1 -1
- package/dist/esm5/processes/adapter/check.js +39 -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 +89 -89
- package/dist/esm5/processes/adapter/fix.js.map +1 -1
- package/dist/esm5/processes/adapter/insert.js +81 -81
- package/dist/esm5/processes/adapter/insert.js.map +1 -1
- package/dist/esm5/processes/adapter/reload.js +26 -27
- package/dist/esm5/processes/adapter/reload.js.map +1 -1
- package/dist/esm5/processes/adapter/remove.js +115 -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 +59 -59
- package/dist/esm5/processes/adapter/update.js.map +1 -1
- package/dist/esm5/processes/adjust.js +152 -152
- package/dist/esm5/processes/clip.js +60 -60
- package/dist/esm5/processes/end.js +63 -63
- package/dist/esm5/processes/end.js.map +1 -1
- package/dist/esm5/processes/fetch.js +102 -101
- package/dist/esm5/processes/fetch.js.map +1 -1
- package/dist/esm5/processes/index.js +23 -23
- package/dist/esm5/processes/init.js +21 -21
- package/dist/esm5/processes/init.js.map +1 -1
- package/dist/esm5/processes/misc/base.js +44 -44
- package/dist/esm5/processes/misc/base.js.map +1 -1
- package/dist/esm5/processes/misc/enums.js +35 -35
- 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 -73
- package/dist/esm5/processes/postFetch.js.map +1 -1
- package/dist/esm5/processes/preClip.js +94 -94
- package/dist/esm5/processes/preClip.js.map +1 -1
- package/dist/esm5/processes/preFetch.js +247 -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 +107 -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 +82 -73
- 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 +212 -212
- package/dist/esm5/workflow-transducer.js.map +1 -1
- package/dist/esm5/workflow.js +186 -176
- 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 +47 -47
- package/dist/typings/classes/adapter/wanted.d.ts +14 -14
- package/dist/typings/classes/adapter.d.ts +74 -64
- package/dist/typings/classes/buffer/cache.d.ts +95 -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 +27 -27
- package/dist/typings/classes/domRoutines.d.ts +33 -33
- package/dist/typings/classes/item.d.ts +28 -28
- package/dist/typings/classes/logger.d.ts +28 -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 +119 -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 +27 -27
- package/dist/typings/classes/viewport.d.ts +32 -32
- package/dist/typings/index.d.ts +9 -9
- 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 +6 -6
- package/dist/typings/inputs/settings.d.ts +41 -41
- package/dist/typings/inputs/validation.d.ts +83 -83
- package/dist/typings/interfaces/adapter.d.ts +156 -156
- package/dist/typings/interfaces/datasource.d.ts +26 -26
- 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 +157 -157
- package/dist/typings/interfaces/settings.d.ts +31 -31
- package/dist/typings/interfaces/state.d.ts +22 -22
- 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/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 +23 -23
- 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 +32 -32
- 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 +29 -28
- package/package.json +68 -68
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
-
import { Direction } from '../inputs/index';
|
|
3
|
-
export default class Clip extends BaseProcessFactory(CommonProcess.clip) {
|
|
4
|
-
static run(scroller) {
|
|
5
|
-
const { workflow } = scroller;
|
|
6
|
-
Clip.doClip(scroller);
|
|
7
|
-
workflow.call({
|
|
8
|
-
process: Clip.process,
|
|
9
|
-
status: ProcessStatus.next
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
static doClip(scroller) {
|
|
13
|
-
const { buffer, viewport: { paddings }, state: { clip }, logger } = scroller;
|
|
14
|
-
const size = { [Direction.backward]: 0, [Direction.forward]: 0 };
|
|
15
|
-
logger.stat(`before clip (${++clip.callCount})`);
|
|
16
|
-
const itemsToRemove = buffer.items.filter(item => {
|
|
17
|
-
if (!item.toRemove) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
item.hide();
|
|
21
|
-
size[item.removeDirection] += item.size;
|
|
22
|
-
return true;
|
|
23
|
-
});
|
|
24
|
-
if (itemsToRemove.length) {
|
|
25
|
-
if (size[Direction.backward]) {
|
|
26
|
-
paddings.byDirection(Direction.backward).size += size[Direction.backward];
|
|
27
|
-
}
|
|
28
|
-
if (size[Direction.forward]) {
|
|
29
|
-
paddings.byDirection(Direction.forward).size += size[Direction.forward];
|
|
30
|
-
}
|
|
31
|
-
if (scroller.settings.onBeforeClip) {
|
|
32
|
-
scroller.settings.onBeforeClip(itemsToRemove.map(item => item.get()));
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
buffer.clip();
|
|
36
|
-
logger.log(() => {
|
|
37
|
-
const list = itemsToRemove.map(({ $index }) => $index);
|
|
38
|
-
return list.length
|
|
39
|
-
? [
|
|
40
|
-
`clipped ${list.length} item(s) from Buffer` +
|
|
41
|
-
(size.backward ? `, +${size.backward} fwd px` : '') +
|
|
42
|
-
(size.forward ? `, +${size.forward} bwd px` : '') +
|
|
43
|
-
`, range: [${list[0]}..${list[list.length - 1]}]`
|
|
44
|
-
]
|
|
45
|
-
: 'clipped 0 items from Buffer';
|
|
46
|
-
});
|
|
47
|
-
logger.stat('after clip');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
1
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
+
import { Direction } from '../inputs/index';
|
|
3
|
+
export default class Clip extends BaseProcessFactory(CommonProcess.clip) {
|
|
4
|
+
static run(scroller) {
|
|
5
|
+
const { workflow } = scroller;
|
|
6
|
+
Clip.doClip(scroller);
|
|
7
|
+
workflow.call({
|
|
8
|
+
process: Clip.process,
|
|
9
|
+
status: ProcessStatus.next
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
static doClip(scroller) {
|
|
13
|
+
const { buffer, viewport: { paddings }, state: { clip }, logger } = scroller;
|
|
14
|
+
const size = { [Direction.backward]: 0, [Direction.forward]: 0 };
|
|
15
|
+
logger.stat(`before clip (${++clip.callCount})`);
|
|
16
|
+
const itemsToRemove = buffer.items.filter(item => {
|
|
17
|
+
if (!item.toRemove) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
item.hide();
|
|
21
|
+
size[item.removeDirection] += item.size;
|
|
22
|
+
return true;
|
|
23
|
+
});
|
|
24
|
+
if (itemsToRemove.length) {
|
|
25
|
+
if (size[Direction.backward]) {
|
|
26
|
+
paddings.byDirection(Direction.backward).size += size[Direction.backward];
|
|
27
|
+
}
|
|
28
|
+
if (size[Direction.forward]) {
|
|
29
|
+
paddings.byDirection(Direction.forward).size += size[Direction.forward];
|
|
30
|
+
}
|
|
31
|
+
if (scroller.settings.onBeforeClip) {
|
|
32
|
+
scroller.settings.onBeforeClip(itemsToRemove.map(item => item.get()));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
buffer.clip();
|
|
36
|
+
logger.log(() => {
|
|
37
|
+
const list = itemsToRemove.map(({ $index }) => $index);
|
|
38
|
+
return list.length
|
|
39
|
+
? [
|
|
40
|
+
`clipped ${list.length} item(s) from Buffer` +
|
|
41
|
+
(size.backward ? `, +${size.backward} fwd px` : '') +
|
|
42
|
+
(size.forward ? `, +${size.forward} bwd px` : '') +
|
|
43
|
+
`, range: [${list[0]}..${list[list.length - 1]}]`
|
|
44
|
+
]
|
|
45
|
+
: 'clipped 0 items from Buffer';
|
|
46
|
+
});
|
|
47
|
+
logger.stat('after clip');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
50
|
//# sourceMappingURL=clip.js.map
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
-
const isInterrupted = ({ call }) => !!call.interrupted;
|
|
3
|
-
export default class End extends BaseProcessFactory(CommonProcess.end) {
|
|
4
|
-
static run(scroller, { error } = {}) {
|
|
5
|
-
const { workflow, state: { cycle: { interrupter } } } = scroller;
|
|
6
|
-
if (!error && !interrupter) {
|
|
7
|
-
// set out params accessible via Adapter
|
|
8
|
-
End.calculateParams(scroller);
|
|
9
|
-
}
|
|
10
|
-
// explicit interruption for we don't want to go through the inner loop finalizing
|
|
11
|
-
if (isInterrupted(workflow)) {
|
|
12
|
-
workflow.call({ process: End.process, status: ProcessStatus.done });
|
|
13
|
-
return;
|
|
14
|
-
}
|
|
15
|
-
const next = End.shouldContinueRun(scroller, error);
|
|
16
|
-
scroller.state.endInnerLoop();
|
|
17
|
-
workflow.call({
|
|
18
|
-
process: End.process,
|
|
19
|
-
status: next ? ProcessStatus.next : ProcessStatus.done,
|
|
20
|
-
payload: Object.assign({}, (interrupter ? { process: interrupter } : {}))
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
static calculateParams(scroller) {
|
|
24
|
-
const { adapter, workflow } = scroller;
|
|
25
|
-
adapter.setFirstOrLastVisible({ first: true, workflow });
|
|
26
|
-
adapter.setFirstOrLastVisible({ last: true, workflow });
|
|
27
|
-
}
|
|
28
|
-
static shouldContinueRun(scroller, error) {
|
|
29
|
-
const { cycle, fetch, render } = scroller.state;
|
|
30
|
-
// Adapter.reload or Adapter.reset
|
|
31
|
-
if (cycle.interrupter) {
|
|
32
|
-
return true;
|
|
33
|
-
}
|
|
34
|
-
// critical error
|
|
35
|
-
if (error) {
|
|
36
|
-
return false;
|
|
37
|
-
}
|
|
38
|
-
// Adapter.check
|
|
39
|
-
if (fetch.simulate && fetch.isCheck && !render.noSize) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
// Adapter.remove or Adapter.update with clip
|
|
43
|
-
if (fetch.simulate && fetch.doRemove) {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
// common inner loop (App start, scroll, Adapter.clip) with full fetch
|
|
47
|
-
if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {
|
|
48
|
-
return true;
|
|
49
|
-
}
|
|
50
|
-
return false;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
+
const isInterrupted = ({ call }) => !!call.interrupted;
|
|
3
|
+
export default class End extends BaseProcessFactory(CommonProcess.end) {
|
|
4
|
+
static run(scroller, { error } = {}) {
|
|
5
|
+
const { workflow, state: { cycle: { interrupter } } } = scroller;
|
|
6
|
+
if (!error && !interrupter) {
|
|
7
|
+
// set out params accessible via Adapter
|
|
8
|
+
End.calculateParams(scroller);
|
|
9
|
+
}
|
|
10
|
+
// explicit interruption for we don't want to go through the inner loop finalizing
|
|
11
|
+
if (isInterrupted(workflow)) {
|
|
12
|
+
workflow.call({ process: End.process, status: ProcessStatus.done });
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
const next = End.shouldContinueRun(scroller, error);
|
|
16
|
+
scroller.state.endInnerLoop();
|
|
17
|
+
workflow.call({
|
|
18
|
+
process: End.process,
|
|
19
|
+
status: next ? ProcessStatus.next : ProcessStatus.done,
|
|
20
|
+
payload: Object.assign({}, (interrupter ? { process: interrupter } : {}))
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
static calculateParams(scroller) {
|
|
24
|
+
const { adapter, workflow } = scroller;
|
|
25
|
+
adapter.setFirstOrLastVisible({ first: true, workflow });
|
|
26
|
+
adapter.setFirstOrLastVisible({ last: true, workflow });
|
|
27
|
+
}
|
|
28
|
+
static shouldContinueRun(scroller, error) {
|
|
29
|
+
const { cycle, fetch, render } = scroller.state;
|
|
30
|
+
// Adapter.reload or Adapter.reset
|
|
31
|
+
if (cycle.interrupter) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
// critical error
|
|
35
|
+
if (error) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
// Adapter.check
|
|
39
|
+
if (fetch.simulate && fetch.isCheck && !render.noSize) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
// Adapter.remove or Adapter.update with clip
|
|
43
|
+
if (fetch.simulate && fetch.doRemove) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
// common inner loop (App start, scroll, Adapter.clip) with full fetch
|
|
47
|
+
if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
53
|
//# sourceMappingURL=end.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/processes/end.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhF,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC;IAEpE,MAAM,CAAC,GAAG,CAAC,QAAkB,EAAE,EAAE,KAAK,KAA0B,EAAE;QAChE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC;QAEjE,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;YAC1B,wCAAwC;YACxC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,kFAAkF;QAClF,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACtD,OAAO,oBAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAkB;QACvC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAEvC,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAAkB,EAAE,KAAc;QACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChD,kCAAkC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QACD,iBAAiB;QACjB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrD,OAAO,IAAI,CAAC;SACb;QACD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;YACtF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAEF","sourcesContent":["import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';\nimport { Scroller } from '../scroller';\nimport { ScrollerWorkflow } from '../interfaces/index';\n\nconst isInterrupted = ({ call }: ScrollerWorkflow): boolean => !!call.interrupted;\n\nexport default class End extends BaseProcessFactory(CommonProcess.end) {\n\n static run(scroller: Scroller, { error }: { error?: unknown } = {}): void {\n const { workflow, state: { cycle: { interrupter } } } = scroller;\n\n if (!error && !interrupter) {\n // set out params accessible via Adapter\n End.calculateParams(scroller);\n }\n\n // explicit interruption for we don't want to go through the inner loop finalizing\n if (isInterrupted(workflow)) {\n workflow.call({ process: End.process, status: ProcessStatus.done });\n return;\n }\n\n const next = End.shouldContinueRun(scroller, error);\n scroller.state.endInnerLoop();\n\n workflow.call({\n process: End.process,\n status: next ? ProcessStatus.next : ProcessStatus.done,\n payload: { ...(interrupter ? { process: interrupter } : {}) }\n });\n }\n\n static calculateParams(scroller: Scroller): void {\n const { adapter, workflow } = scroller;\n\n adapter.setFirstOrLastVisible({ first: true, workflow });\n adapter.setFirstOrLastVisible({ last: true, workflow });\n }\n\n static shouldContinueRun(scroller: Scroller, error: unknown): boolean {\n const { cycle, fetch, render } = scroller.state;\n // Adapter.reload or Adapter.reset\n if (cycle.interrupter) {\n return true;\n }\n // critical error\n if (error) {\n return false;\n }\n // Adapter.check\n if (fetch.simulate && fetch.isCheck && !render.noSize) {\n return true;\n }\n // Adapter.remove or Adapter.update with clip\n if (fetch.simulate && fetch.doRemove) {\n return true;\n }\n // common inner loop (App start, scroll, Adapter.clip) with full fetch\n if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {\n return true;\n }\n return false;\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/processes/end.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhF,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAoB,EAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;AAElF,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,kBAAkB,CAAC,aAAa,CAAC,GAAG,CAAC;IAEpE,MAAM,CAAC,GAAG,CAAC,QAAkB,EAAE,EAAE,KAAK,KAA0B,EAAE;QAChE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,GAAG,QAAQ,CAAC;QAEjE,IAAI,CAAC,KAAK,IAAI,CAAC,WAAW,EAAE;YAC1B,wCAAwC;YACxC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;SAC/B;QAED,kFAAkF;QAClF,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE;YAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;YACpE,OAAO;SACR;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACpD,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAE9B,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI;YACtD,OAAO,oBAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE;SAC9D,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,eAAe,CAAC,QAAkB;QACvC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAEvC,OAAO,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,qBAAqB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,QAAkB,EAAE,KAAc;QACzD,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC;QAChD,kCAAkC;QAClC,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC;SACb;QACD,iBAAiB;QACjB,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC;SACd;QACD,gBAAgB;QAChB,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;YACrD,OAAO,IAAI,CAAC;SACb;QACD,6CAA6C;QAC7C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,EAAE;YACpC,OAAO,IAAI,CAAC;SACb;QACD,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE;YACtF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CAEF","sourcesContent":["import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';\r\nimport { Scroller } from '../scroller';\r\nimport { ScrollerWorkflow } from '../interfaces/index';\r\n\r\nconst isInterrupted = ({ call }: ScrollerWorkflow): boolean => !!call.interrupted;\r\n\r\nexport default class End extends BaseProcessFactory(CommonProcess.end) {\r\n\r\n static run(scroller: Scroller, { error }: { error?: unknown } = {}): void {\r\n const { workflow, state: { cycle: { interrupter } } } = scroller;\r\n\r\n if (!error && !interrupter) {\r\n // set out params accessible via Adapter\r\n End.calculateParams(scroller);\r\n }\r\n\r\n // explicit interruption for we don't want to go through the inner loop finalizing\r\n if (isInterrupted(workflow)) {\r\n workflow.call({ process: End.process, status: ProcessStatus.done });\r\n return;\r\n }\r\n\r\n const next = End.shouldContinueRun(scroller, error);\r\n scroller.state.endInnerLoop();\r\n\r\n workflow.call({\r\n process: End.process,\r\n status: next ? ProcessStatus.next : ProcessStatus.done,\r\n payload: { ...(interrupter ? { process: interrupter } : {}) }\r\n });\r\n }\r\n\r\n static calculateParams(scroller: Scroller): void {\r\n const { adapter, workflow } = scroller;\r\n\r\n adapter.setFirstOrLastVisible({ first: true, workflow });\r\n adapter.setFirstOrLastVisible({ last: true, workflow });\r\n }\r\n\r\n static shouldContinueRun(scroller: Scroller, error: unknown): boolean {\r\n const { cycle, fetch, render } = scroller.state;\r\n // Adapter.reload or Adapter.reset\r\n if (cycle.interrupter) {\r\n return true;\r\n }\r\n // critical error\r\n if (error) {\r\n return false;\r\n }\r\n // Adapter.check\r\n if (fetch.simulate && fetch.isCheck && !render.noSize) {\r\n return true;\r\n }\r\n // Adapter.remove or Adapter.update with clip\r\n if (fetch.simulate && fetch.doRemove) {\r\n return true;\r\n }\r\n // common inner loop (App start, scroll, Adapter.clip) with full fetch\r\n if (!fetch.simulate && ((fetch.hasNewItems && !render.noSize) || fetch.hasAnotherPack)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,91 +1,92 @@
|
|
|
1
|
-
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
-
export default class Fetch extends BaseProcessFactory(CommonProcess.fetch) {
|
|
3
|
-
static run(scroller) {
|
|
4
|
-
const { workflow } = scroller;
|
|
5
|
-
const box = {
|
|
6
|
-
success: (data) => {
|
|
7
|
-
scroller.logger.log(() => `resolved ${data.length} items ` +
|
|
8
|
-
`(index = ${scroller.state.fetch.index}, count = ${scroller.state.fetch.count})`);
|
|
9
|
-
scroller.state.fetch.newItemsData = data;
|
|
10
|
-
workflow.call({
|
|
11
|
-
process: Fetch.process,
|
|
12
|
-
status: ProcessStatus.next
|
|
13
|
-
});
|
|
14
|
-
},
|
|
15
|
-
fail: (error) => workflow.call({
|
|
16
|
-
process: Fetch.process,
|
|
17
|
-
status: ProcessStatus.error,
|
|
18
|
-
payload: { error }
|
|
19
|
-
})
|
|
20
|
-
};
|
|
21
|
-
const result = Fetch.get(scroller);
|
|
22
|
-
Fetch.complete(scroller, box, result);
|
|
23
|
-
}
|
|
24
|
-
static complete(scroller, box, result) {
|
|
25
|
-
if (Object.prototype.hasOwnProperty.call(result, 'data')) {
|
|
26
|
-
const { data, error, isError } = result;
|
|
27
|
-
if (!isError) {
|
|
28
|
-
box.success(data || []);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
box.fail(error);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
const { state: { scroll, fetch }, viewport } = scroller;
|
|
36
|
-
if (scroll.positionBeforeAsync === null) {
|
|
37
|
-
scroll.positionBeforeAsync = viewport.scrollPosition;
|
|
38
|
-
}
|
|
39
|
-
fetch.cancel = () => {
|
|
40
|
-
box.success = () => null;
|
|
41
|
-
box.fail = () => null;
|
|
42
|
-
};
|
|
43
|
-
result.then((data) => box.success(data), (error) => box.fail(error));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
static get(scroller) {
|
|
47
|
-
const _get = scroller.datasource.get;
|
|
48
|
-
const { index, count } = scroller.state.fetch;
|
|
49
|
-
let immediateData, immediateError;
|
|
50
|
-
let resolve, reject;
|
|
51
|
-
const done = (data) => {
|
|
52
|
-
if (!resolve) {
|
|
53
|
-
immediateData = data || null;
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
resolve(data);
|
|
57
|
-
};
|
|
58
|
-
const fail = (error) => {
|
|
59
|
-
if (!reject) {
|
|
60
|
-
immediateError = error || null;
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
reject(error);
|
|
64
|
-
};
|
|
65
|
-
const getResult = _get(index, count, done, fail);
|
|
66
|
-
if (getResult && typeof getResult === 'object' && getResult !== null) {
|
|
67
|
-
if (typeof getResult.then === 'function') {
|
|
68
|
-
return getResult;
|
|
69
|
-
}
|
|
70
|
-
else if (typeof getResult.subscribe === 'function') {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
}
|
|
1
|
+
import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';
|
|
2
|
+
export default class Fetch extends BaseProcessFactory(CommonProcess.fetch) {
|
|
3
|
+
static run(scroller) {
|
|
4
|
+
const { workflow } = scroller;
|
|
5
|
+
const box = {
|
|
6
|
+
success: (data) => {
|
|
7
|
+
scroller.logger.log(() => `resolved ${data.length} items ` +
|
|
8
|
+
`(index = ${scroller.state.fetch.index}, count = ${scroller.state.fetch.count})`);
|
|
9
|
+
scroller.state.fetch.newItemsData = data;
|
|
10
|
+
workflow.call({
|
|
11
|
+
process: Fetch.process,
|
|
12
|
+
status: ProcessStatus.next
|
|
13
|
+
});
|
|
14
|
+
},
|
|
15
|
+
fail: (error) => workflow.call({
|
|
16
|
+
process: Fetch.process,
|
|
17
|
+
status: ProcessStatus.error,
|
|
18
|
+
payload: { error }
|
|
19
|
+
})
|
|
20
|
+
};
|
|
21
|
+
const result = Fetch.get(scroller);
|
|
22
|
+
Fetch.complete(scroller, box, result);
|
|
23
|
+
}
|
|
24
|
+
static complete(scroller, box, result) {
|
|
25
|
+
if (Object.prototype.hasOwnProperty.call(result, 'data')) {
|
|
26
|
+
const { data, error, isError } = result;
|
|
27
|
+
if (!isError) {
|
|
28
|
+
box.success(data || []);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
box.fail(error);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
const { state: { scroll, fetch }, viewport } = scroller;
|
|
36
|
+
if (scroll.positionBeforeAsync === null) {
|
|
37
|
+
scroll.positionBeforeAsync = viewport.scrollPosition;
|
|
38
|
+
}
|
|
39
|
+
fetch.cancel = () => {
|
|
40
|
+
box.success = () => null;
|
|
41
|
+
box.fail = () => null;
|
|
42
|
+
};
|
|
43
|
+
result.then((data) => box.success(data), (error) => box.fail(error));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
static get(scroller) {
|
|
47
|
+
const _get = scroller.datasource.get;
|
|
48
|
+
const { index, count } = scroller.state.fetch;
|
|
49
|
+
let immediateData, immediateError;
|
|
50
|
+
let resolve, reject;
|
|
51
|
+
const done = (data) => {
|
|
52
|
+
if (!resolve) {
|
|
53
|
+
immediateData = data || null;
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
resolve(data);
|
|
57
|
+
};
|
|
58
|
+
const fail = (error) => {
|
|
59
|
+
if (!reject) {
|
|
60
|
+
immediateError = error || null;
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
reject(error);
|
|
64
|
+
};
|
|
65
|
+
const getResult = _get(index, count, done, fail);
|
|
66
|
+
if (getResult && typeof getResult === 'object' && getResult !== null) {
|
|
67
|
+
if (typeof getResult.then === 'function') {
|
|
68
|
+
return getResult;
|
|
69
|
+
}
|
|
70
|
+
else if (typeof getResult.subscribe === 'function') {
|
|
71
|
+
let sub = void 0;
|
|
72
|
+
sub = getResult.subscribe(done, fail, () => {
|
|
73
|
+
if (sub && typeof sub === 'object' && typeof sub.unsubscribe === 'function') {
|
|
74
|
+
sub.unsubscribe();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (immediateData || immediateError) { // callback case or immediate observable
|
|
80
|
+
return {
|
|
81
|
+
data: immediateError ? null : (immediateData || []),
|
|
82
|
+
error: immediateError,
|
|
83
|
+
isError: !!immediateError
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
return new Promise((_resolve, _reject) => {
|
|
87
|
+
resolve = _resolve;
|
|
88
|
+
reject = _reject;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
91
92
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/processes/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAiBhF,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,kBAAkB,CAAC,aAAa,CAAC,KAAK,CAAC;IAExE,MAAM,CAAC,GAAG,CAAC,QAAkB;QAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAE9B,MAAM,GAAG,GAAG;YACV,OAAO,EAAE,CAAC,IAAe,EAAE,EAAE;gBAC3B,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CACvB,YAAY,IAAI,CAAC,MAAM,SAAS;oBAChC,YAAY,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,aAAa,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CACjF,CAAC;gBACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;gBACzC,QAAQ,CAAC,IAAI,CAAC;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,MAAM,EAAE,aAAa,CAAC,IAAI;iBAC3B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,KAAc,EAAE,EAAE,CACvB,QAAQ,CAAC,IAAI,CAAC;gBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,aAAa,CAAC,KAAK;gBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE;aACnB,CAAC;SACL,CAAC;QAEF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,QAAkB,EAAE,GAAa,EAAE,MAAsB;QACvE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;YACxD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAmB,CAAC;YACrD,IAAI,CAAC,OAAO,EAAE;gBACZ,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;aACzB;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACjB;SACF;aAAM;YACL,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;YACxD,IAAI,MAAM,CAAC,mBAAmB,KAAK,IAAI,EAAE;gBACvC,MAAM,CAAC,mBAAmB,GAAG,QAAQ,CAAC,cAAc,CAAC;aACtD;YACD,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE;gBAClB,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;gBACzB,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;YACxB,CAAC,CAAC;YACD,MAA6B,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAC3B,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAC3B,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,QAAkB;QAC3B,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QACrC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;QAE9C,IAAI,aAAa,EAAE,cAAc,CAAC;QAClC,IAAI,OAAiC,EAAE,MAAgC,CAAC;QAExE,MAAM,IAAI,GAAG,CAAC,IAAe,EAAE,EAAE;YAC/B,IAAI,CAAC,OAAO,EAAE;gBACZ,aAAa,GAAG,IAAI,IAAI,IAAI,CAAC;gBAC7B,OAAO;aACR;YACD,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE;YAC9B,IAAI,CAAC,MAAM,EAAE;gBACX,cAAc,GAAG,KAAK,IAAI,IAAI,CAAC;gBAC/B,OAAO;aACR;YACD,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEjD,IAAI,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,EAAE;YACpE,IAAI,OAAQ,SAAkC,CAAC,IAAI,KAAK,UAAU,EAAE;gBAClE,OAAO,SAA6B,CAAC;aACtC;iBAAM,IAAI,OAAQ,SAA4B,CAAC,SAAS,KAAK,UAAU,EAAE;gBACxE,
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/processes/fetch.ts"],"names":[],"mappings":"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","sourcesContent":["import { BaseProcessFactory, CommonProcess, ProcessStatus } from './misc/index';\r\nimport { Scroller } from '../scroller';\r\nimport { ObservableLike } from '../interfaces/index';\r\n\r\ninterface Immediate {\r\n data: unknown[] | null;\r\n error: unknown | null;\r\n isError: boolean;\r\n}\r\n\r\ntype FetchGetResult = Immediate | Promise<unknown>;\r\n\r\ninterface FetchBox {\r\n success: (value: unknown[]) => void;\r\n fail: (value: unknown) => void;\r\n}\r\n\r\nexport default class Fetch extends BaseProcessFactory(CommonProcess.fetch) {\r\n\r\n static run(scroller: Scroller): void {\r\n const { workflow } = scroller;\r\n\r\n const box = {\r\n success: (data: unknown[]) => {\r\n scroller.logger.log(() =>\r\n `resolved ${data.length} items ` +\r\n `(index = ${scroller.state.fetch.index}, count = ${scroller.state.fetch.count})`\r\n );\r\n scroller.state.fetch.newItemsData = data;\r\n workflow.call({\r\n process: Fetch.process,\r\n status: ProcessStatus.next\r\n });\r\n },\r\n fail: (error: unknown) =>\r\n workflow.call({\r\n process: Fetch.process,\r\n status: ProcessStatus.error,\r\n payload: { error }\r\n })\r\n };\r\n\r\n const result = Fetch.get(scroller);\r\n Fetch.complete(scroller, box, result);\r\n }\r\n\r\n static complete(scroller: Scroller, box: FetchBox, result: FetchGetResult): void {\r\n if (Object.prototype.hasOwnProperty.call(result, 'data')) {\r\n const { data, error, isError } = result as Immediate;\r\n if (!isError) {\r\n box.success(data || []);\r\n } else {\r\n box.fail(error);\r\n }\r\n } else {\r\n const { state: { scroll, fetch }, viewport } = scroller;\r\n if (scroll.positionBeforeAsync === null) {\r\n scroll.positionBeforeAsync = viewport.scrollPosition;\r\n }\r\n fetch.cancel = () => {\r\n box.success = () => null;\r\n box.fail = () => null;\r\n };\r\n (result as Promise<unknown[]>).then(\r\n (data) => box.success(data),\r\n (error) => box.fail(error)\r\n );\r\n }\r\n }\r\n\r\n static get(scroller: Scroller): FetchGetResult {\r\n const _get = scroller.datasource.get;\r\n const { index, count } = scroller.state.fetch;\r\n\r\n let immediateData, immediateError;\r\n let resolve: (value: unknown) => void, reject: (value: unknown) => void;\r\n\r\n const done = (data: unknown[]) => {\r\n if (!resolve) {\r\n immediateData = data || null;\r\n return;\r\n }\r\n resolve(data);\r\n };\r\n const fail = (error: unknown) => {\r\n if (!reject) {\r\n immediateError = error || null;\r\n return;\r\n }\r\n reject(error);\r\n };\r\n\r\n const getResult = _get(index, count, done, fail);\r\n\r\n if (getResult && typeof getResult === 'object' && getResult !== null) {\r\n if (typeof (getResult as PromiseLike<unknown>).then === 'function') {\r\n return getResult as Promise<unknown>;\r\n } else if (typeof (getResult as ObservableLike).subscribe === 'function') {\r\n let sub: undefined | ReturnType<ObservableLike['subscribe']> = void 0;\r\n sub = (getResult as ObservableLike).subscribe(done, fail, () => {\r\n if (sub && typeof sub === 'object' && typeof sub.unsubscribe === 'function') {\r\n sub.unsubscribe();\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (immediateData || immediateError) { // callback case or immediate observable\r\n return {\r\n data: immediateError ? null : (immediateData || []),\r\n error: immediateError,\r\n isError: !!immediateError\r\n };\r\n }\r\n\r\n return new Promise((_resolve, _reject) => {\r\n resolve = _resolve;\r\n reject = _reject;\r\n });\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import Init from './init';
|
|
2
|
-
import Scroll from './scroll';
|
|
3
|
-
import Reset from './adapter/reset';
|
|
4
|
-
import Reload from './adapter/reload';
|
|
5
|
-
import Append from './adapter/append';
|
|
6
|
-
import Check from './adapter/check';
|
|
7
|
-
import Remove from './adapter/remove';
|
|
8
|
-
import UserClip from './adapter/clip';
|
|
9
|
-
import Insert from './adapter/insert';
|
|
10
|
-
import Replace from './adapter/replace';
|
|
11
|
-
import Update from './adapter/update';
|
|
12
|
-
import Fix from './adapter/fix';
|
|
13
|
-
import Start from './start';
|
|
14
|
-
import PreFetch from './preFetch';
|
|
15
|
-
import Fetch from './fetch';
|
|
16
|
-
import PostFetch from './postFetch';
|
|
17
|
-
import Render from './render';
|
|
18
|
-
import Adjust from './adjust';
|
|
19
|
-
import PreClip from './preClip';
|
|
20
|
-
import Clip from './clip';
|
|
21
|
-
import End from './end';
|
|
22
|
-
import { CommonProcess, AdapterProcess, ProcessStatus } from './misc/enums';
|
|
23
|
-
export { Init, Scroll, Reset, Reload, Append, Check, Remove, UserClip, Insert, Replace, Update, Fix, Start, PreFetch, Fetch, PostFetch, Render, PreClip, Clip, Adjust, End, CommonProcess, AdapterProcess, ProcessStatus, };
|
|
1
|
+
import Init from './init';
|
|
2
|
+
import Scroll from './scroll';
|
|
3
|
+
import Reset from './adapter/reset';
|
|
4
|
+
import Reload from './adapter/reload';
|
|
5
|
+
import Append from './adapter/append';
|
|
6
|
+
import Check from './adapter/check';
|
|
7
|
+
import Remove from './adapter/remove';
|
|
8
|
+
import UserClip from './adapter/clip';
|
|
9
|
+
import Insert from './adapter/insert';
|
|
10
|
+
import Replace from './adapter/replace';
|
|
11
|
+
import Update from './adapter/update';
|
|
12
|
+
import Fix from './adapter/fix';
|
|
13
|
+
import Start from './start';
|
|
14
|
+
import PreFetch from './preFetch';
|
|
15
|
+
import Fetch from './fetch';
|
|
16
|
+
import PostFetch from './postFetch';
|
|
17
|
+
import Render from './render';
|
|
18
|
+
import Adjust from './adjust';
|
|
19
|
+
import PreClip from './preClip';
|
|
20
|
+
import Clip from './clip';
|
|
21
|
+
import End from './end';
|
|
22
|
+
import { CommonProcess, AdapterProcess, ProcessStatus } from './misc/enums';
|
|
23
|
+
export { Init, Scroll, Reset, Reload, Append, Check, Remove, UserClip, Insert, Replace, Update, Fix, Start, PreFetch, Fetch, PostFetch, Render, PreClip, Clip, Adjust, End, CommonProcess, AdapterProcess, ProcessStatus, };
|
|
24
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { BaseProcessFactory, CommonProcess, AdapterProcess, ProcessStatus } from './misc/index';
|
|
2
|
-
const initProcesses = [CommonProcess.init, AdapterProcess.reset, AdapterProcess.reload];
|
|
3
|
-
export default class Init extends BaseProcessFactory(CommonProcess.init) {
|
|
4
|
-
static run(scroller, process) {
|
|
5
|
-
const { state, workflow } = scroller;
|
|
6
|
-
const isInitial = initProcesses.includes(process);
|
|
7
|
-
scroller.logger.logCycle(true);
|
|
8
|
-
state.startWorkflowCycle(isInitial, process);
|
|
9
|
-
workflow.call({
|
|
10
|
-
process: Init.process,
|
|
11
|
-
status: ProcessStatus.next
|
|
12
|
-
});
|
|
13
|
-
}
|
|
14
|
-
}
|
|
1
|
+
import { BaseProcessFactory, CommonProcess, AdapterProcess, ProcessStatus } from './misc/index';
|
|
2
|
+
const initProcesses = [CommonProcess.init, AdapterProcess.reset, AdapterProcess.reload];
|
|
3
|
+
export default class Init extends BaseProcessFactory(CommonProcess.init) {
|
|
4
|
+
static run(scroller, process) {
|
|
5
|
+
const { state, workflow } = scroller;
|
|
6
|
+
const isInitial = initProcesses.includes(process);
|
|
7
|
+
scroller.logger.logCycle(true);
|
|
8
|
+
state.startWorkflowCycle(isInitial, process);
|
|
9
|
+
workflow.call({
|
|
10
|
+
process: Init.process,
|
|
11
|
+
status: ProcessStatus.next
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
15
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/processes/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC;IAEtE,MAAM,CAAC,GAAG,CAAC,QAAkB,EAAE,OAAoB;QACjD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,aAAa,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;CAEF","sourcesContent":["import { BaseProcessFactory, CommonProcess, AdapterProcess, ProcessStatus } from './misc/index';\nimport { Scroller } from '../scroller';\nimport { ProcessName } from '../interfaces/index';\n\nconst initProcesses = [CommonProcess.init, AdapterProcess.reset, AdapterProcess.reload];\n\nexport default class Init extends BaseProcessFactory(CommonProcess.init) {\n\n static run(scroller: Scroller, process: ProcessName): void {\n const { state, workflow } = scroller;\n const isInitial = initProcesses.includes(process);\n scroller.logger.logCycle(true);\n state.startWorkflowCycle(isInitial, process);\n workflow.call({\n process: Init.process,\n status: ProcessStatus.next\n });\n }\n\n}\n"]}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/processes/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAIhG,MAAM,aAAa,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;AAExF,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC;IAEtE,MAAM,CAAC,GAAG,CAAC,QAAkB,EAAE,OAAoB;QACjD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QACrC,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,KAAK,CAAC,kBAAkB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,aAAa,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC;CAEF","sourcesContent":["import { BaseProcessFactory, CommonProcess, AdapterProcess, ProcessStatus } from './misc/index';\r\nimport { Scroller } from '../scroller';\r\nimport { ProcessName } from '../interfaces/index';\r\n\r\nconst initProcesses = [CommonProcess.init, AdapterProcess.reset, AdapterProcess.reload];\r\n\r\nexport default class Init extends BaseProcessFactory(CommonProcess.init) {\r\n\r\n static run(scroller: Scroller, process: ProcessName): void {\r\n const { state, workflow } = scroller;\r\n const isInitial = initProcesses.includes(process);\r\n scroller.logger.logCycle(true);\r\n state.startWorkflowCycle(isInitial, process);\r\n workflow.call({\r\n process: Init.process,\r\n status: ProcessStatus.next\r\n });\r\n }\r\n\r\n}\r\n"]}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
|
-
import { ProcessStatus } from './enums';
|
|
2
|
-
import { ADAPTER_METHODS, validate } from '../../inputs/index';
|
|
3
|
-
export const BaseProcessFactory = (process) => { var _a; return _a = class BaseProcess {
|
|
4
|
-
},
|
|
5
|
-
_a.process = process,
|
|
6
|
-
_a; };
|
|
7
|
-
export const BaseAdapterProcessFactory = (process) => { var _a; return _a = class BaseAdapterProcess extends BaseProcessFactory(process) {
|
|
8
|
-
static parseInput(scroller, options, ignoreErrors = false, _process) {
|
|
9
|
-
const result = {
|
|
10
|
-
data: validate(options, ADAPTER_METHODS[_process || process])
|
|
11
|
-
};
|
|
12
|
-
if (result.data.isValid) {
|
|
13
|
-
result.params = Object.entries(result.data.params)
|
|
14
|
-
.reduce((acc, [key, { value }]) => (Object.assign(Object.assign({}, acc), { [key]: value })), {});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
scroller.logger.log(() => result.data.showErrors());
|
|
18
|
-
if (!ignoreErrors) {
|
|
19
|
-
scroller.workflow.call({
|
|
20
|
-
process,
|
|
21
|
-
status: ProcessStatus.error,
|
|
22
|
-
payload: { error: `Wrong argument of the "${process}" method call` }
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
return result;
|
|
27
|
-
}
|
|
28
|
-
},
|
|
29
|
-
_a.process = process,
|
|
30
|
-
_a; };
|
|
1
|
+
import { ProcessStatus } from './enums';
|
|
2
|
+
import { ADAPTER_METHODS, validate } from '../../inputs/index';
|
|
3
|
+
export const BaseProcessFactory = (process) => { var _a; return _a = class BaseProcess {
|
|
4
|
+
},
|
|
5
|
+
_a.process = process,
|
|
6
|
+
_a; };
|
|
7
|
+
export const BaseAdapterProcessFactory = (process) => { var _a; return _a = class BaseAdapterProcess extends BaseProcessFactory(process) {
|
|
8
|
+
static parseInput(scroller, options, ignoreErrors = false, _process) {
|
|
9
|
+
const result = {
|
|
10
|
+
data: validate(options, ADAPTER_METHODS[_process || process])
|
|
11
|
+
};
|
|
12
|
+
if (result.data.isValid) {
|
|
13
|
+
result.params = Object.entries(result.data.params)
|
|
14
|
+
.reduce((acc, [key, { value }]) => (Object.assign(Object.assign({}, acc), { [key]: value })), {});
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
scroller.logger.log(() => result.data.showErrors());
|
|
18
|
+
if (!ignoreErrors) {
|
|
19
|
+
scroller.workflow.call({
|
|
20
|
+
process,
|
|
21
|
+
status: ProcessStatus.error,
|
|
22
|
+
payload: { error: `Wrong argument of the "${process}" method call` }
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
return result;
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
_a.process = process,
|
|
30
|
+
_a; };
|
|
31
31
|
//# sourceMappingURL=base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/processes/misc/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAoB,EAAgB,EAAE,uBAEvE,MAAM,WAAW;KAIhB;IAFQ,UAAO,GAAgB,OAAQ;SAEvC,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAuB,EAAuB,EAAE,uBAExF,MAAM,kBAAmB,SAAS,kBAAkB,CAAC,OAAO,CAAkB;QAI5E,MAAM,CAAC,UAAU,CACf,QAAkB,EAAE,OAAU,EAAE,YAAY,GAAG,KAAK,EAAE,QAAyB;YAE/E,MAAM,MAAM,GAAqB;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;aAC9D,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC/C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,iCAC9B,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,KAAK,IACZ,EAAE,EAAO,CAAC,CAAC;aAChB;iBAAM;gBACL,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY,EAAE;oBACjB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrB,OAAO;wBACP,MAAM,EAAE,aAAa,CAAC,KAAK;wBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,0BAA0B,OAAO,eAAe,EAAE;qBACrE,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAEF;IA7BQ,UAAO,GAAmB,OAAQ;SA6B1C,CAAC","sourcesContent":["import { AdapterProcess, ProcessStatus } from './enums';\nimport { Scroller } from '../../scroller';\nimport { ADAPTER_METHODS, validate } from '../../inputs/index';\nimport { ProcessName, IBaseProcess, IBaseAdapterProcess, IAdapterInput } from '../../interfaces/index';\n\nexport const BaseProcessFactory = (process: ProcessName): IBaseProcess =>\n\n class BaseProcess {\n\n static process: ProcessName = process;\n\n };\n\nexport const BaseAdapterProcessFactory = (process: AdapterProcess): IBaseAdapterProcess =>\n\n class BaseAdapterProcess extends (BaseProcessFactory(process) as IBaseProcess) {\n\n static process: AdapterProcess = process;\n\n static parseInput<T>(\n scroller: Scroller, options: T, ignoreErrors = false, _process?: AdapterProcess\n ): IAdapterInput<T> {\n const result: IAdapterInput<T> = {\n data: validate(options, ADAPTER_METHODS[_process || process])\n };\n\n if (result.data.isValid) {\n result.params = Object.entries(result.data.params)\n .reduce((acc, [key, { value }]) => ({\n ...acc,\n [key]: value\n }), {} as T);\n } else {\n scroller.logger.log(() => result.data.showErrors());\n if (!ignoreErrors) {\n scroller.workflow.call({\n process,\n status: ProcessStatus.error,\n payload: { error: `Wrong argument of the \"${process}\" method call` }\n });\n }\n }\n\n return result;\n }\n\n };\n"]}
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/processes/misc/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAE,MAAM,SAAS,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG/D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,OAAoB,EAAgB,EAAE,uBAEvE,MAAM,WAAW;KAIhB;IAFQ,UAAO,GAAgB,OAAQ;SAEvC,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAuB,EAAuB,EAAE,uBAExF,MAAM,kBAAmB,SAAS,kBAAkB,CAAC,OAAO,CAAkB;QAI5E,MAAM,CAAC,UAAU,CACf,QAAkB,EAAE,OAAU,EAAE,YAAY,GAAG,KAAK,EAAE,QAAyB;YAE/E,MAAM,MAAM,GAAqB;gBAC/B,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC;aAC9D,CAAC;YAEF,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;gBACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;qBAC/C,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,iCAC9B,GAAG,KACN,CAAC,GAAG,CAAC,EAAE,KAAK,IACZ,EAAE,EAAO,CAAC,CAAC;aAChB;iBAAM;gBACL,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACpD,IAAI,CAAC,YAAY,EAAE;oBACjB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;wBACrB,OAAO;wBACP,MAAM,EAAE,aAAa,CAAC,KAAK;wBAC3B,OAAO,EAAE,EAAE,KAAK,EAAE,0BAA0B,OAAO,eAAe,EAAE;qBACrE,CAAC,CAAC;iBACJ;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;KAEF;IA7BQ,UAAO,GAAmB,OAAQ;SA6B1C,CAAC","sourcesContent":["import { AdapterProcess, ProcessStatus } from './enums';\r\nimport { Scroller } from '../../scroller';\r\nimport { ADAPTER_METHODS, validate } from '../../inputs/index';\r\nimport { ProcessName, IBaseProcess, IBaseAdapterProcess, IAdapterInput } from '../../interfaces/index';\r\n\r\nexport const BaseProcessFactory = (process: ProcessName): IBaseProcess =>\r\n\r\n class BaseProcess {\r\n\r\n static process: ProcessName = process;\r\n\r\n };\r\n\r\nexport const BaseAdapterProcessFactory = (process: AdapterProcess): IBaseAdapterProcess =>\r\n\r\n class BaseAdapterProcess extends (BaseProcessFactory(process) as IBaseProcess) {\r\n\r\n static process: AdapterProcess = process;\r\n\r\n static parseInput<T>(\r\n scroller: Scroller, options: T, ignoreErrors = false, _process?: AdapterProcess\r\n ): IAdapterInput<T> {\r\n const result: IAdapterInput<T> = {\r\n data: validate(options, ADAPTER_METHODS[_process || process])\r\n };\r\n\r\n if (result.data.isValid) {\r\n result.params = Object.entries(result.data.params)\r\n .reduce((acc, [key, { value }]) => ({\r\n ...acc,\r\n [key]: value\r\n }), {} as T);\r\n } else {\r\n scroller.logger.log(() => result.data.showErrors());\r\n if (!ignoreErrors) {\r\n scroller.workflow.call({\r\n process,\r\n status: ProcessStatus.error,\r\n payload: { error: `Wrong argument of the \"${process}\" method call` }\r\n });\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n };\r\n"]}
|