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