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