UNPKG

@lyra/form-builder

Version:
40 lines (32 loc) 1.06 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.mockUpload = mockUpload; var _rxjs = require('rxjs'); function createProgressEvent(progress) { return { type: 'progress', stage: 'upload', percent: progress }; } function simulateProgress(updateInterval /*: number*/ = 200, speed /*: number*/ = 2) { return new _rxjs.Observable(observer => { let progress = 0; observer.next(progress); const interval = setInterval(next, updateInterval); return () => clearInterval(interval); function next() { progress = Math.min(100, progress + (speed + Math.random() * speed)); observer.next(progress); if (progress === 100) { observer.complete(); } } }); } function mockUpload(assetDoc /*: Object*/) { return simulateProgress(100 + Math.random() * 500, 10 + Math.random() * 50).map(createProgressEvent).mergeMap(event => { return _rxjs.Observable.of(...[event, event.percent === 100 && { type: 'complete', asset: assetDoc }].filter(Boolean)); }); }