@any-touch/recognizer
Advanced tools
Comparing version 0.6.0-beta.26 to 0.6.0-beta.29
@@ -19,3 +19,3 @@ import { Input, ComputeConstructor } from '@any-touch/shared'; | ||
constructor(options: { | ||
name?: string; | ||
name: string; | ||
[k: string]: any; | ||
@@ -27,3 +27,3 @@ }); | ||
*/ | ||
set(options?: {}): this; | ||
set(options?: Record<string, any>): this; | ||
/** | ||
@@ -30,0 +30,0 @@ * 验证触点 |
@@ -20,4 +20,2 @@ 'use strict'; | ||
_b[shared.INPUT_MOVE] = shared.STATUS_START, | ||
_b[shared.INPUT_END] = shared.STATUS_RECOGNIZED, | ||
_b[shared.INPUT_CANCEL] = shared.STATUS_CANCELLED, | ||
_b), | ||
@@ -32,2 +30,3 @@ _a[shared.STATUS_START] = (_c = {}, | ||
_d[shared.INPUT_END] = shared.STATUS_END, | ||
_d[shared.INPUT_CANCEL] = shared.STATUS_CANCELLED, | ||
_d), | ||
@@ -61,14 +60,10 @@ _a), | ||
var computed = recognizer.computed; | ||
if (shared.STATUS_CANCELLED === inputType) { | ||
emit(recognizer.options.name + shared.INPUT_CANCEL, computed); | ||
return false; | ||
recognizer.isRecognized = -1 < [shared.STATUS_START, shared.STATUS_MOVE, shared.STATUS_END, shared.STATUS_CANCELLED, shared.STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
var name = recognizer.name, status = recognizer.status, isRecognized = recognizer.isRecognized; | ||
if (isRecognized) { | ||
if (shared.INPUT_END !== inputType) { | ||
emit(name, computed); | ||
} | ||
emit(name + status, computed); | ||
} | ||
recognizer.isRecognized = -1 < [shared.STATUS_START, shared.STATUS_MOVE, shared.STATUS_END, shared.STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
if (isVaild) { | ||
emit(recognizer.options.name, computed); | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
} | ||
else if (recognizer.isRecognized) { | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
} | ||
return isVaild; | ||
@@ -79,5 +74,5 @@ } | ||
function default_1(options) { | ||
this.options = tslib.__assign(tslib.__assign(tslib.__assign({}, this.constructor.DEFAULT_OPTIONS), { disabled: false }), options); | ||
this.options = options; | ||
this.name = this.options.name; | ||
this.disabled = this.options.disabled; | ||
this.disabled = false; | ||
this.status = shared.STATUS_POSSIBLE; | ||
@@ -91,4 +86,5 @@ this.isRecognized = false; | ||
default_1.prototype.set = function (options) { | ||
if (options === void 0) { options = {}; } | ||
this.options = tslib.__assign(tslib.__assign({}, this.options), options); | ||
if (void 0 !== options) { | ||
this.options = tslib.__assign(tslib.__assign({}, this.options), options); | ||
} | ||
return this; | ||
@@ -95,0 +91,0 @@ }; |
import { __assign, __values, __spread } from 'tslib'; | ||
import { STATUS_END, STATUS_CANCELLED, STATUS_RECOGNIZED, STATUS_FAILED, STATUS_POSSIBLE, INPUT_CANCEL, STATUS_START, STATUS_MOVE, INPUT_MOVE, INPUT_END } from '@any-touch/shared'; | ||
import { STATUS_END, STATUS_CANCELLED, STATUS_RECOGNIZED, STATUS_FAILED, STATUS_POSSIBLE, STATUS_START, STATUS_MOVE, INPUT_END, INPUT_MOVE, INPUT_CANCEL } from '@any-touch/shared'; | ||
@@ -16,4 +16,2 @@ function resetStatus (recognizer) { | ||
_b[INPUT_MOVE] = STATUS_START, | ||
_b[INPUT_END] = STATUS_RECOGNIZED, | ||
_b[INPUT_CANCEL] = STATUS_CANCELLED, | ||
_b), | ||
@@ -28,2 +26,3 @@ _a[STATUS_START] = (_c = {}, | ||
_d[INPUT_END] = STATUS_END, | ||
_d[INPUT_CANCEL] = STATUS_CANCELLED, | ||
_d), | ||
@@ -57,14 +56,10 @@ _a), | ||
var computed = recognizer.computed; | ||
if (STATUS_CANCELLED === inputType) { | ||
emit(recognizer.options.name + INPUT_CANCEL, computed); | ||
return false; | ||
recognizer.isRecognized = -1 < [STATUS_START, STATUS_MOVE, STATUS_END, STATUS_CANCELLED, STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
var name = recognizer.name, status = recognizer.status, isRecognized = recognizer.isRecognized; | ||
if (isRecognized) { | ||
if (INPUT_END !== inputType) { | ||
emit(name, computed); | ||
} | ||
emit(name + status, computed); | ||
} | ||
recognizer.isRecognized = -1 < [STATUS_START, STATUS_MOVE, STATUS_END, STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
if (isVaild) { | ||
emit(recognizer.options.name, computed); | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
} | ||
else if (recognizer.isRecognized) { | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
} | ||
return isVaild; | ||
@@ -75,5 +70,5 @@ } | ||
function default_1(options) { | ||
this.options = __assign(__assign(__assign({}, this.constructor.DEFAULT_OPTIONS), { disabled: false }), options); | ||
this.options = options; | ||
this.name = this.options.name; | ||
this.disabled = this.options.disabled; | ||
this.disabled = false; | ||
this.status = STATUS_POSSIBLE; | ||
@@ -87,4 +82,5 @@ this.isRecognized = false; | ||
default_1.prototype.set = function (options) { | ||
if (options === void 0) { options = {}; } | ||
this.options = __assign(__assign({}, this.options), options); | ||
if (void 0 !== options) { | ||
this.options = __assign(__assign({}, this.options), options); | ||
} | ||
return this; | ||
@@ -91,0 +87,0 @@ }; |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),shared=require("@any-touch/shared");function resetStatus(e){-1!==[shared.STATUS_END,shared.STATUS_CANCELLED,shared.STATUS_RECOGNIZED,shared.STATUS_FAILED].indexOf(e.status)&&(e.status=shared.STATUS_POSSIBLE)}function flow(e,s,t){var r,a,i,o,T,n,d,S={1:(r={},r[shared.STATUS_POSSIBLE]=(a={},a[shared.INPUT_MOVE]=shared.STATUS_START,a[shared.INPUT_END]=shared.STATUS_RECOGNIZED,a[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,a),r[shared.STATUS_START]=(i={},i[shared.INPUT_MOVE]=shared.STATUS_MOVE,i[shared.INPUT_END]=shared.STATUS_END,i[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,i),r[shared.STATUS_MOVE]=(o={},o[shared.INPUT_MOVE]=shared.STATUS_MOVE,o[shared.INPUT_END]=shared.STATUS_END,o),r),0:(T={},T[shared.STATUS_START]=(n={},n[shared.INPUT_MOVE]=shared.STATUS_CANCELLED,n[shared.INPUT_END]=shared.STATUS_END,n[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,n),T[shared.STATUS_MOVE]=(d={},d[shared.INPUT_MOVE]=shared.STATUS_CANCELLED,d[shared.INPUT_END]=shared.STATUS_END,d[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,d),T)};return void 0!==S[Number(e)][s]&&S[Number(e)][s][t]||s}function recognizeForPressMoveLike(e,s,t){var r=e.test(s);resetStatus(e);var a=s.inputType;e.status=flow(r,e.status,a);var i=e.computed;return shared.STATUS_CANCELLED===a?(t(e.options.name+shared.INPUT_CANCEL,i),!1):(e.isRecognized=-1<[shared.STATUS_START,shared.STATUS_MOVE,shared.STATUS_END,shared.STATUS_RECOGNIZED].indexOf(e.status),r?(t(e.options.name,i),t(e.options.name+e.status,i)):e.isRecognized&&t(e.options.name+e.status,i),r)}var default_1=function(){function e(e){this.options=tslib.__assign(tslib.__assign(tslib.__assign({},this.constructor.DEFAULT_OPTIONS),{disabled:!1}),e),this.name=this.options.name,this.disabled=this.options.disabled,this.status=shared.STATUS_POSSIBLE,this.isRecognized=!1,this.computed={},this.computedGroup={},this.usedComputeFunctionMap={},this.recognizerMap={}}return e.prototype.set=function(e){return void 0===e&&(e={}),this.options=tslib.__assign(tslib.__assign({},this.options),e),this},e.prototype.isValidPointLength=function(e){return 0===this.options.pointLength||this.options.pointLength===e},e.prototype.compute=function(e){for(var s,t,r,a=[],i=1;i<arguments.length;i++)a[i-1]=arguments[i];var o=Object.create(null);try{for(var T=tslib.__values(e),n=T.next();!n.done;n=T.next()){var d=n.value,S=d._id,h=this,_=h.computedGroup,u=h.usedComputeFunctionMap;void 0===u[S]&&(u[S]=new d),_[S]=_[S]||(r=u[S]).compute.apply(r,tslib.__spread(a)),o=tslib.__assign(tslib.__assign({},o),_[S])}}catch(e){s={error:e}}finally{try{n&&!n.done&&(t=T.return)&&t.call(T)}finally{if(s)throw s.error}}return this.computed=o,o},e.type="Recognizer",e}();exports.default=default_1,exports.recognizeForPressMoveLike=recognizeForPressMoveLike,exports.resetStatusForPressMoveLike=resetStatus; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var tslib=require("tslib"),shared=require("@any-touch/shared");function resetStatus(e){-1!==[shared.STATUS_END,shared.STATUS_CANCELLED,shared.STATUS_RECOGNIZED,shared.STATUS_FAILED].indexOf(e.status)&&(e.status=shared.STATUS_POSSIBLE)}function flow(e,s,t){var r,a,T,i,o,d,S,h={1:(r={},r[shared.STATUS_POSSIBLE]=(a={},a[shared.INPUT_MOVE]=shared.STATUS_START,a),r[shared.STATUS_START]=(T={},T[shared.INPUT_MOVE]=shared.STATUS_MOVE,T[shared.INPUT_END]=shared.STATUS_END,T[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,T),r[shared.STATUS_MOVE]=(i={},i[shared.INPUT_MOVE]=shared.STATUS_MOVE,i[shared.INPUT_END]=shared.STATUS_END,i[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,i),r),0:(o={},o[shared.STATUS_START]=(d={},d[shared.INPUT_MOVE]=shared.STATUS_CANCELLED,d[shared.INPUT_END]=shared.STATUS_END,d[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,d),o[shared.STATUS_MOVE]=(S={},S[shared.INPUT_MOVE]=shared.STATUS_CANCELLED,S[shared.INPUT_END]=shared.STATUS_END,S[shared.INPUT_CANCEL]=shared.STATUS_CANCELLED,S),o)};return void 0!==h[Number(e)][s]&&h[Number(e)][s][t]||s}function recognizeForPressMoveLike(e,s,t){var r=e.test(s);resetStatus(e);var a=s.inputType;e.status=flow(r,e.status,a);var T=e.computed;e.isRecognized=-1<[shared.STATUS_START,shared.STATUS_MOVE,shared.STATUS_END,shared.STATUS_CANCELLED,shared.STATUS_RECOGNIZED].indexOf(e.status);var i=e.name,o=e.status;return e.isRecognized&&(shared.INPUT_END!==a&&t(i,T),t(i+o,T)),r}var default_1=function(){function e(e){this.options=e,this.name=this.options.name,this.disabled=!1,this.status=shared.STATUS_POSSIBLE,this.isRecognized=!1,this.computed={},this.computedGroup={},this.usedComputeFunctionMap={},this.recognizerMap={}}return e.prototype.set=function(e){return void 0!==e&&(this.options=tslib.__assign(tslib.__assign({},this.options),e)),this},e.prototype.isValidPointLength=function(e){return 0===this.options.pointLength||this.options.pointLength===e},e.prototype.compute=function(e){for(var s,t,r,a=[],T=1;T<arguments.length;T++)a[T-1]=arguments[T];var i=Object.create(null);try{for(var o=tslib.__values(e),d=o.next();!d.done;d=o.next()){var S=d.value,h=S._id,n=this,_=n.computedGroup,u=n.usedComputeFunctionMap;void 0===u[h]&&(u[h]=new S),_[h]=_[h]||(r=u[h]).compute.apply(r,tslib.__spread(a)),i=tslib.__assign(tslib.__assign({},i),_[h])}}catch(e){s={error:e}}finally{try{d&&!d.done&&(t=o.return)&&t.call(o)}finally{if(s)throw s.error}}return this.computed=i,i},e.type="Recognizer",e}();exports.default=default_1,exports.recognizeForPressMoveLike=recognizeForPressMoveLike,exports.resetStatusForPressMoveLike=resetStatus; |
{ | ||
"name": "@any-touch/recognizer", | ||
"version": "0.6.0-beta.26", | ||
"version": "0.6.0-beta.29", | ||
"description": "any-touch的识别器的基类.", | ||
@@ -17,3 +17,3 @@ "main": "./dist/index", | ||
"sideEffects": false, | ||
"gitHead": "134804165dc898584f8a8583947da50f5e0e9462" | ||
"gitHead": "141852aaf51673c194a8b8d3d76f0db56c8ca8d4" | ||
} |
@@ -11,4 +11,4 @@ import { Input, ComputeConstructor } from '@any-touch/shared'; | ||
export default abstract class{ | ||
// 给use方法用 | ||
export default abstract class { | ||
// 给use方法用来判断是手势插件 | ||
static type = 'Recognizer'; | ||
@@ -40,7 +40,6 @@ // 手势名 | ||
constructor(options: { name?: string, [k: string]: any }) { | ||
this.options = { ...(<any>this.constructor).DEFAULT_OPTIONS, disabled: false, ...options }; | ||
constructor(options: { name: string, [k: string]: any }) { | ||
this.options = options; | ||
this.name = this.options.name; | ||
this.disabled = this.options.disabled; | ||
this.disabled = false; | ||
this.status = STATUS_POSSIBLE; | ||
@@ -60,4 +59,6 @@ this.isRecognized = false; | ||
*/ | ||
set(options = {}) { | ||
this.options = { ...this.options, ...options }; | ||
set(options?: Record<string, any>) { | ||
if (void 0 !== options) { | ||
this.options = { ...this.options, ...options }; | ||
} | ||
return this; | ||
@@ -108,2 +109,3 @@ }; | ||
/** | ||
@@ -110,0 +112,0 @@ * 校验输入数据 |
@@ -26,4 +26,4 @@ import { CommonEmitFunction, Input } from '@any-touch/shared'; | ||
[INPUT_MOVE]: STATUS_START, | ||
[INPUT_END]: STATUS_RECOGNIZED, | ||
[INPUT_CANCEL]: STATUS_CANCELLED | ||
// [INPUT_END]: STATUS_RECOGNIZED, | ||
// [INPUT_CANCEL]: STATUS_CANCELLED | ||
}, | ||
@@ -38,2 +38,3 @@ [STATUS_START]: { | ||
[INPUT_END]: STATUS_END, | ||
[INPUT_CANCEL]: STATUS_CANCELLED | ||
} | ||
@@ -43,2 +44,3 @@ }, | ||
// 这个分支有STATUS_FAILED | ||
// 2020年1月30, 未看完, 有待商榷 | ||
0: { | ||
@@ -75,2 +77,3 @@ [STATUS_START]: { | ||
const isVaild = recognizer.test(input); | ||
// console.log({isVaild},input.inputType,recognizer.name) | ||
resetStatus(recognizer); | ||
@@ -83,22 +86,19 @@ | ||
const { computed } = recognizer; | ||
if (STATUS_CANCELLED === inputType) { | ||
emit(recognizer.options.name + INPUT_CANCEL, computed); | ||
return false; | ||
} | ||
// 是否已识别 | ||
recognizer.isRecognized = -1 < [STATUS_START, STATUS_MOVE, STATUS_END, STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
// 是否已识别, 包含end | ||
recognizer.isRecognized = -1 < [STATUS_START, STATUS_MOVE, STATUS_END,STATUS_CANCELLED, STATUS_RECOGNIZED].indexOf(recognizer.status); | ||
const {name, status,isRecognized} = recognizer; | ||
// console.log({status,inputType,isRecognized,isVaild}) | ||
// 识别后触发的事件 | ||
if (isVaild) { | ||
// computed = recognizer.lockDirection(computed); | ||
emit(recognizer.options.name, computed); | ||
// panstart | panmove 等 | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
} else if (recognizer.isRecognized) { | ||
if (isRecognized) { | ||
// panend等 | ||
emit(recognizer.options.name + recognizer.status, computed); | ||
if(INPUT_END !== inputType){ | ||
emit(name, computed); | ||
} | ||
emit(name + status, computed); | ||
} | ||
return isVaild; | ||
}; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
25134
14
541