ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
26 lines • 2.84 kB
JavaScript
export function getVelocity() {
return ((minInterval = 30, maxInterval = 100) => {
let _time = 0;
let _y = 0;
let _velocity = 0;
const recorder = {
record: y => {
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVsb2NpdHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb21wb25lbnRzL2NvcmUvdXRpbC92ZWxvY2l0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsV0FBVztJQUN6QixPQUFPLENBQUMsQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLFdBQVcsR0FBRyxHQUFHLEVBQUUsRUFBRTtRQUM5QyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDZCxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWCxJQUFJLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbEIsTUFBTSxRQUFRLEdBQUc7WUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1YsTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUN4QixTQUFTLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLENBQUM7Z0JBQ3JDLElBQUksR0FBRyxHQUFHLEtBQUssSUFBSSxXQUFXLEVBQUU7b0JBQzlCLFNBQVMsR0FBRyxHQUFHLEdBQUcsS0FBSyxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ1AsS0FBSyxHQUFHLEdBQUcsQ0FBQztpQkFDYjtZQUNILENBQUM7WUFDRCxXQUFXLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUNaLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ3BCO2dCQUNELE9BQU8sU0FBUyxDQUFDO1lBQ25CLENBQUM7U0FDRixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUNQLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2V0VmVsb2NpdHkoKSB7XG4gIHJldHVybiAoKG1pbkludGVydmFsID0gMzAsIG1heEludGVydmFsID0gMTAwKSA9PiB7XG4gICAgbGV0IF90aW1lID0gMDtcbiAgICBsZXQgX3kgPSAwO1xuICAgIGxldCBfdmVsb2NpdHkgPSAwO1xuICAgIGNvbnN0IHJlY29yZGVyID0ge1xuICAgICAgcmVjb3JkOiB5ID0+IHtcbiAgICAgICAgY29uc3Qgbm93ID0gK25ldyBEYXRlKCk7XG4gICAgICAgIF92ZWxvY2l0eSA9ICh5IC0gX3kpIC8gKG5vdyAtIF90aW1lKTtcbiAgICAgICAgaWYgKG5vdyAtIF90aW1lID49IG1pbkludGVydmFsKSB7XG4gICAgICAgICAgX3ZlbG9jaXR5ID0gbm93IC0gX3RpbWUgPD0gbWF4SW50ZXJ2YWwgPyBfdmVsb2NpdHkgOiAwO1xuICAgICAgICAgIF95ID0geTtcbiAgICAgICAgICBfdGltZSA9IG5vdztcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGdldFZlbG9jaXR5OiB5ID0+IHtcbiAgICAgICAgaWYgKHkgIT09IF95KSB7XG4gICAgICAgICAgcmVjb3JkZXIucmVjb3JkKHkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfdmVsb2NpdHk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXR1cm4gcmVjb3JkZXI7XG4gIH0pKCk7XG59XG4iXX0=