UNPKG

@gdjiami/hooks

Version:

react hooks for mygzb.com

96 lines (95 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var tslib_1 = require("tslib"); exports.TOUCH_SUPPROTED = 'TouchEvent' in window; exports.GestureCoordinateKeys = [ 'clientX', 'clientY', 'pageX', 'pageY', 'screenX', 'screenY', ]; function isMouseEvent(evt) { if (evt.type.startsWith('mouse')) { return true; } return false; } exports.isMouseEvent = isMouseEvent; function pickProperties(obj, keys) { var e_1, _a; var newobj = {}; try { for (var keys_1 = tslib_1.__values(keys), keys_1_1 = keys_1.next(); !keys_1_1.done; keys_1_1 = keys_1.next()) { var key = keys_1_1.value; newobj[key] = obj[key]; } } catch (e_1_1) { e_1 = { error: e_1_1 }; } finally { try { if (keys_1_1 && !keys_1_1.done && (_a = keys_1.return)) _a.call(keys_1); } finally { if (e_1) throw e_1.error; } } return newobj; } exports.pickProperties = pickProperties; /** * 获取MouseEvent或TouchEvent中的坐标 * @param evt */ function extraPosition(evt, id) { if (isMouseEvent(evt)) { return pickProperties(evt, exports.GestureCoordinateKeys); } var touch; if (id) { for (var i = 0; i < evt.touches.length; i++) { if (evt.touches[i].identifier === id) { touch = evt.touches[i]; break; } } if (touch == null) { return; } } else { touch = evt.targetTouches[0]; } return tslib_1.__assign(tslib_1.__assign({}, pickProperties(touch, exports.GestureCoordinateKeys)), { id: touch.identifier }); } exports.extraPosition = extraPosition; /** * 获取多点触摸 */ function extraPositions(evt) { if (isMouseEvent(evt)) { return [ tslib_1.__assign({ id: 0 }, pickProperties(evt, exports.GestureCoordinateKeys)), ]; } return Array.prototype.map.call(evt.changedTouches, function (touch) { return tslib_1.__assign({ id: touch.identifier }, pickProperties(touch, exports.GestureCoordinateKeys)); }); } exports.extraPositions = extraPositions; function clamp(num, lower, upper) { if (num === num) { if (upper !== undefined) { num = num <= upper ? num : upper; } if (lower !== undefined) { num = num >= lower ? num : lower; } } return num; } exports.clamp = clamp; var uid = 0; function getUid() { return (uid = uid + (1 % (Number.MAX_SAFE_INTEGER - 1))); } exports.getUid = getUid;