diff options
Diffstat (limited to 'sandbox/testAppNevena/Front/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts')
-rw-r--r-- | sandbox/testAppNevena/Front/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sandbox/testAppNevena/Front/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts b/sandbox/testAppNevena/Front/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts new file mode 100644 index 00000000..c550429f --- /dev/null +++ b/sandbox/testAppNevena/Front/node_modules/rxjs/src/internal/scheduler/AnimationFrameScheduler.ts @@ -0,0 +1,31 @@ +import { AsyncAction } from './AsyncAction'; +import { AsyncScheduler } from './AsyncScheduler'; + +export class AnimationFrameScheduler extends AsyncScheduler { + public flush(action?: AsyncAction<any>): void { + + this.active = true; + this.scheduled = undefined; + + const {actions} = this; + let error: any; + let index: number = -1; + let count: number = actions.length; + action = action || actions.shift(); + + do { + if (error = action.execute(action.state, action.delay)) { + break; + } + } while (++index < count && (action = actions.shift())); + + this.active = false; + + if (error) { + while (++index < count && (action = actions.shift())) { + action.unsubscribe(); + } + throw error; + } + } +} |