@baleada/listenable-gestures
Version:
A collection of gesture recognizers that are compatible with Baleada Logic's Listenable class.
72 lines • 2.29 kB
JavaScript
var directions = {
up: {
degrees: function degrees(_degrees) {
return _degrees >= 67.5 && _degrees <= 112.5;
},
radians: function radians(_radians) {
return _radians >= 0.375 * Math.PI && _radians <= 0.625 * Math.PI;
}
},
upRight: {
degrees: function degrees(_degrees2) {
return _degrees2 >= 22.5 && _degrees2 < 67.5;
},
radians: function radians(_radians2) {
return _radians2 >= 0.125 * Math.PI && _radians2 < 0.375 * Math.PI;
}
},
right: {
degrees: function degrees(_degrees3) {
return _degrees3 > 337.5 && _degrees3 <= 360 || _degrees3 < 22.5 && _degrees3 >= 0;
},
radians: function radians(_radians3) {
return _radians3 > 1.875 * Math.PI && _radians3 <= 2 * Math.PI || _radians3 < 0.125 * Math.PI && _radians3 >= 0;
}
},
downRight: {
degrees: function degrees(_degrees4) {
return _degrees4 > 292.5 && _degrees4 <= 337.5;
},
radians: function radians(_radians4) {
return _radians4 > 1.625 * Math.PI && _radians4 <= 1.875 * Math.PI;
}
},
down: {
degrees: function degrees(_degrees5) {
return _degrees5 >= 247.5 && _degrees5 <= 292.5;
},
radians: function radians(_radians5) {
return _radians5 >= 1.375 * Math.PI && _radians5 <= 1.625 * Math.PI;
}
},
downLeft: {
degrees: function degrees(_degrees6) {
return _degrees6 >= 202.5 && _degrees6 < 247.5;
},
radians: function radians(_radians6) {
return _radians6 >= 1.125 * Math.PI && _radians6 < 1.375 * Math.PI;
}
},
left: {
degrees: function degrees(_degrees7) {
return _degrees7 > 157.5 && _degrees7 < 202.5;
},
radians: function radians(_radians7) {
return _radians7 > 0.875 * Math.PI && _radians7 < 1.125 * Math.PI;
}
},
upLeft: {
degrees: function degrees(_degrees8) {
return _degrees8 > 112.5 && _degrees8 <= 157.5;
},
radians: function radians(_radians8) {
return _radians8 > 0.625 * Math.PI && _radians8 <= 0.875 * Math.PI;
}
}
};
export default function (angle) {
var unit = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'degrees';
return Object.keys(directions).find(function (direction) {
return directions[direction][unit](angle);
});
}