ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
51 lines • 3.41 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
/**
* @return {?}
*/
export function getVelocity() {
return ((/**
* @param {?=} minInterval
* @param {?=} maxInterval
* @return {?}
*/
(minInterval = 30, maxInterval = 100) => {
/** @type {?} */
let _time = 0;
/** @type {?} */
let _y = 0;
/** @type {?} */
let _velocity = 0;
/** @type {?} */
const recorder = {
record: (/**
* @param {?} y
* @return {?}
*/
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: (/**
* @param {?} y
* @return {?}
*/
y => {
if (y !== _y) {
recorder.record(y);
}
return _velocity;
})
};
return recorder;
}))();
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NpdHkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbImNvcmUvdXRpbC92ZWxvY2l0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsTUFBTSxVQUFVLFdBQVc7SUFDekIsT0FBTzs7Ozs7SUFBQyxDQUFDLFdBQVcsR0FBRyxFQUFFLEVBQUUsV0FBVyxHQUFHLEdBQUcsRUFBRSxFQUFFOztZQUMxQyxLQUFLLEdBQUcsQ0FBQzs7WUFDVCxFQUFFLEdBQUcsQ0FBQzs7WUFDTixTQUFTLEdBQUcsQ0FBQzs7Y0FDWCxRQUFRLEdBQUc7WUFDZixNQUFNOzs7O1lBQUUsQ0FBQyxDQUFDLEVBQUU7O3NCQUNKLEdBQUcsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFO2dCQUN2QixTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksR0FBRyxHQUFHLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQzlCLFNBQVMsR0FBRyxHQUFHLEdBQUcsS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1AsS0FBSyxHQUFHLEdBQUcsQ0FBQztpQkFDYjtZQUNILENBQUMsQ0FBQTtZQUNELFdBQVc7Ozs7WUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUU7b0JBQ1osUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDcEI7Z0JBQ0QsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQyxDQUFBO1NBQ0Y7UUFDRCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDLEVBQUMsRUFBRSxDQUFDO0FBQ1AsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBnZXRWZWxvY2l0eSgpIHtcbiAgcmV0dXJuICgobWluSW50ZXJ2YWwgPSAzMCwgbWF4SW50ZXJ2YWwgPSAxMDApID0+IHtcbiAgICBsZXQgX3RpbWUgPSAwO1xuICAgIGxldCBfeSA9IDA7XG4gICAgbGV0IF92ZWxvY2l0eSA9IDA7XG4gICAgY29uc3QgcmVjb3JkZXIgPSB7XG4gICAgICByZWNvcmQ6IHkgPT4ge1xuICAgICAgICBjb25zdCBub3cgPSArbmV3IERhdGUoKTtcbiAgICAgICAgX3ZlbG9jaXR5ID0gKHkgLSBfeSkgLyAobm93IC0gX3RpbWUpO1xuICAgICAgICBpZiAobm93IC0gX3RpbWUgPj0gbWluSW50ZXJ2YWwpIHtcbiAgICAgICAgICBfdmVsb2NpdHkgPSBub3cgLSBfdGltZSA8PSBtYXhJbnRlcnZhbCA/IF92ZWxvY2l0eSA6IDA7XG4gICAgICAgICAgX3kgPSB5O1xuICAgICAgICAgIF90aW1lID0gbm93O1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZ2V0VmVsb2NpdHk6IHkgPT4ge1xuICAgICAgICBpZiAoeSAhPT0gX3kpIHtcbiAgICAgICAgICByZWNvcmRlci5yZWNvcmQoeSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF92ZWxvY2l0eTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiByZWNvcmRlcjtcbiAgfSkoKTtcbn1cbiJdfQ==