ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
39 lines (38 loc) • 3.11 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
/**
* @return {?}
*/
export function getVelocity() {
return ((minInterval = 30, maxInterval = 100) => {
/** @type {?} */
let _time = 0;
/** @type {?} */
let _y = 0;
/** @type {?} */
let _velocity = 0;
/** @type {?} */
const recorder = {
record: (y) => {
/** @type {?} */
const now = +new Date();
_velocity = (y - _y) / (now - _time);
if (now - _time >= minInterval) {
_velocity = now - _time <= maxInterval ? _velocity : 0;
_y = y;
_time = now;
}
},
getVelocity: (y) => {
if (y !== _y) {
recorder.record(y);
}
return _velocity;
},
};
return recorder;
})();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbImNvcmUvdXRpbC92ZWxvY2l0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsTUFBTTtJQUNKLE9BQU8sQ0FBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEdBQUcsRUFBRSxFQUFFOztRQUM5QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7O1FBQ2QsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDOztRQUNYLElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQzs7UUFDbEIsTUFBTSxRQUFRLEdBQUc7WUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTs7Z0JBQ1osTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksR0FBRyxHQUFHLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQzlCLFNBQVMsR0FBRyxHQUFHLEdBQUcsS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1AsS0FBSyxHQUFHLEdBQUcsQ0FBQztpQkFDYjthQUNGO1lBQ0QsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDWixRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2lCQUNwQjtnQkFDRCxPQUFPLFNBQVMsQ0FBQzthQUNsQjtTQUNGLENBQUM7UUFDRixPQUFPLFFBQVEsQ0FBQztLQUNqQixDQUFDLEVBQUUsQ0FBQztDQUNOIiwic291cmNlc0NvbnRlbnQiOlsiXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVsb2NpdHkoKSB7XG4gIHJldHVybiAoKG1pbkludGVydmFsID0gMzAsIG1heEludGVydmFsID0gMTAwKSA9PiB7XG4gICAgbGV0IF90aW1lID0gMDtcbiAgICBsZXQgX3kgPSAwO1xuICAgIGxldCBfdmVsb2NpdHkgPSAwO1xuICAgIGNvbnN0IHJlY29yZGVyID0ge1xuICAgICAgcmVjb3JkOiAoeSkgPT4ge1xuICAgICAgICBjb25zdCBub3cgPSArbmV3IERhdGUoKTtcbiAgICAgICAgX3ZlbG9jaXR5ID0gKHkgLSBfeSkgLyAobm93IC0gX3RpbWUpO1xuICAgICAgICBpZiAobm93IC0gX3RpbWUgPj0gbWluSW50ZXJ2YWwpIHtcbiAgICAgICAgICBfdmVsb2NpdHkgPSBub3cgLSBfdGltZSA8PSBtYXhJbnRlcnZhbCA/IF92ZWxvY2l0eSA6IDA7XG4gICAgICAgICAgX3kgPSB5O1xuICAgICAgICAgIF90aW1lID0gbm93O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZ2V0VmVsb2NpdHk6ICh5KSA9PiB7XG4gICAgICAgIGlmICh5ICE9PSBfeSkge1xuICAgICAgICAgIHJlY29yZGVyLnJlY29yZCh5KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gX3ZlbG9jaXR5O1xuICAgICAgfSxcbiAgICB9O1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfSkoKTtcbn0iXX0=