Socket
Socket
Sign inDemoInstall

@any-touch/recognizer

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@any-touch/recognizer - npm Package Compare versions

Comparing version 1.0.4 to 1.0.5

46

dist/index.d.ts

@@ -1,7 +0,41 @@

import { RECOGNIZER_STATUS } from '@any-touch/shared';
import type { Input, Computed, ComputeWrapFunction } from '@any-touch/shared';
import { RecognizerStatus } from '@any-touch/shared';
export { default as recognizeForPressMoveLike } from './recognizeForPressMoveLike';
export { default as canResetStatusForPressMoveLike } from './resetStatusForPressMoveLike';
export default function <D, O>(defaultOptions: D, options?: O): D & O & {
status: RECOGNIZER_STATUS;
set: (key: string, value: string | number) => void;
};
export { default as resetStatusForPressMoveLike } from './resetStatusForPressMoveLike';
export default abstract class {
name: string;
disabled: boolean;
isRecognized: boolean;
status: RecognizerStatus;
options: {
[k: string]: any;
};
recognizerMap: Record<string, this>;
computeFunctions: ComputeWrapFunction[];
constructor(options: {
name: string;
[k: string]: number | string;
});
/**
* 设置识别器
* @param options 选项
*/
set(options?: Record<string, any>): this;
/**
* 验证触点数量
* @param pointLength 触点数
*/
isValidPointLength(pointLength: number): boolean;
/**
* 适用于大部分移动类型的手势,
* 如pan/rotate/pinch/swipe
* @param computed 计算值
*/
abstract recognize(computed: Computed, callback: (type: string, ...payload: any[]) => void): void;
/**
* 校验输入数据
* @param {Input} 计算数据
* @returns {Boolean} 校验结果
*/
abstract test(input: Input): boolean;
}

112

dist/index.es.js

@@ -1,10 +0,10 @@

import { RECOGNIZER_STATUS, STAGE } from '@any-touch/shared';
import { __assign } from 'tslib';
import { STATUS_END, STATUS_CANCELLED, STATUS_RECOGNIZED, STATUS_FAILED, STATUS_POSSIBLE, STATUS_START, STATUS_MOVE, INPUT_MOVE, INPUT_END, INPUT_CANCEL, INPUT_START } from '@any-touch/shared';
var _a;
var ACTION_MAP = (_a = {},
_a[RECOGNIZER_STATUS.START] = STAGE.START,
_a[RECOGNIZER_STATUS.MOVE] = STAGE.MOVE,
_a[RECOGNIZER_STATUS.END] = STAGE.END,
_a[RECOGNIZER_STATUS.CANCELLED] = STAGE.CANCEL,
_a);
function resetStatus (recognizer) {
if (-1 !== [STATUS_END, STATUS_CANCELLED, STATUS_RECOGNIZED, STATUS_FAILED].indexOf(recognizer.status)) {
recognizer.status = STATUS_POSSIBLE;
}
}
function flow(isVaild, lastStatus, stage) {

@@ -14,29 +14,29 @@ var _a, _b, _c, _d, _e, _f, _g;

1: (_a = {},
_a[RECOGNIZER_STATUS.POSSIBLE] = (_b = {},
_b[STAGE.MOVE] = RECOGNIZER_STATUS.START,
_b[STAGE.END] = RECOGNIZER_STATUS.FAILED,
_b[STAGE.CANCEL] = RECOGNIZER_STATUS.FAILED,
_a[STATUS_POSSIBLE] = (_b = {},
_b[INPUT_MOVE] = STATUS_START,
_b[INPUT_END] = STATUS_FAILED,
_b[INPUT_CANCEL] = STATUS_FAILED,
_b),
_a[RECOGNIZER_STATUS.START] = (_c = {},
_c[STAGE.MOVE] = RECOGNIZER_STATUS.MOVE,
_c[STAGE.END] = RECOGNIZER_STATUS.END,
_c[STAGE.CANCEL] = RECOGNIZER_STATUS.CANCELLED,
_a[STATUS_START] = (_c = {},
_c[INPUT_MOVE] = STATUS_MOVE,
_c[INPUT_END] = STATUS_END,
_c[INPUT_CANCEL] = STATUS_CANCELLED,
_c),
_a[RECOGNIZER_STATUS.MOVE] = (_d = {},
_d[STAGE.MOVE] = RECOGNIZER_STATUS.MOVE,
_d[STAGE.END] = RECOGNIZER_STATUS.END,
_d[STAGE.CANCEL] = RECOGNIZER_STATUS.CANCELLED,
_a[STATUS_MOVE] = (_d = {},
_d[INPUT_MOVE] = STATUS_MOVE,
_d[INPUT_END] = STATUS_END,
_d[INPUT_CANCEL] = STATUS_CANCELLED,
_d),
_a),
0: (_e = {},
_e[RECOGNIZER_STATUS.START] = (_f = {},
_f[STAGE.MOVE] = RECOGNIZER_STATUS.FAILED,
_f[STAGE.END] = RECOGNIZER_STATUS.FAILED,
_f[STAGE.CANCEL] = RECOGNIZER_STATUS.CANCELLED,
_e[STATUS_START] = (_f = {},
_f[INPUT_MOVE] = STATUS_FAILED,
_f[INPUT_END] = STATUS_FAILED,
_f[INPUT_CANCEL] = STATUS_CANCELLED,
_f),
_e[RECOGNIZER_STATUS.MOVE] = (_g = {},
_g[STAGE.START] = RECOGNIZER_STATUS.FAILED,
_g[STAGE.MOVE] = RECOGNIZER_STATUS.FAILED,
_g[STAGE.END] = RECOGNIZER_STATUS.END,
_g[STAGE.CANCEL] = RECOGNIZER_STATUS.CANCELLED,
_e[STATUS_MOVE] = (_g = {},
_g[INPUT_START] = STATUS_FAILED,
_g[INPUT_MOVE] = STATUS_FAILED,
_g[INPUT_END] = STATUS_FAILED,
_g[INPUT_CANCEL] = STATUS_CANCELLED,
_g),

@@ -48,12 +48,14 @@ _e)

}
function recognizeForPressMoveLike (computed, test, name, status, emit, after) {
var isVaild = test(computed);
var newStatus = flow(isVaild, status, computed.stage);
var isRecognizedNow = ([RECOGNIZER_STATUS.START, RECOGNIZER_STATUS.MOVE]).includes(newStatus);
after([isRecognizedNow, newStatus]);
if (isRecognizedNow) {
function recognizeForPressMoveLike (recognizer, computed, emit) {
var isVaild = recognizer.test(computed);
resetStatus(recognizer);
var stage = computed.stage;
recognizer.status = flow(isVaild, recognizer.status, stage);
recognizer.isRecognized = [STATUS_START, STATUS_MOVE].includes(recognizer.status);
var name = recognizer.name, status = recognizer.status, isRecognized = recognizer.isRecognized;
if (isRecognized) {
emit(name);
}
if (isRecognizedNow || ([RECOGNIZER_STATUS.END, RECOGNIZER_STATUS.CANCELLED]).includes(newStatus)) {
emit(name + ACTION_MAP[newStatus]);
if (isRecognized || [STATUS_END, STATUS_CANCELLED].includes(recognizer.status)) {
emit(name + status);
}

@@ -63,17 +65,25 @@ return isVaild;

function resetStatusForPressMoveLike (status) {
return [RECOGNIZER_STATUS.END, RECOGNIZER_STATUS.CANCELLED, RECOGNIZER_STATUS.RECOGNIZED, RECOGNIZER_STATUS.FAILED].includes(status) ? RECOGNIZER_STATUS.POSSIBLE : status;
}
function index (defaultOptions, options) {
var _context = Object.assign({}, defaultOptions, options, {
status: RECOGNIZER_STATUS.POSSIBLE,
set: function (key, value) {
_context[key] = value;
var default_1 = (function () {
function default_1(options) {
this.disabled = false;
this.isRecognized = false;
this.status = STATUS_POSSIBLE;
this.recognizerMap = {};
this.computeFunctions = [];
this.options = options;
this.name = this.options.name;
}
default_1.prototype.set = function (options) {
if (void 0 !== options) {
this.options = __assign(__assign({}, this.options), options);
}
});
return _context;
}
return this;
};
default_1.prototype.isValidPointLength = function (pointLength) {
return this.options.pointLength === pointLength;
};
return default_1;
}());
export default index;
export { resetStatusForPressMoveLike as canResetStatusForPressMoveLike, recognizeForPressMoveLike };
export default default_1;
export { recognizeForPressMoveLike, resetStatus as resetStatusForPressMoveLike };

@@ -1,1 +0,1 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var E,S=require("@any-touch/shared"),T=((E={})[S.RECOGNIZER_STATUS.START]=S.STAGE.START,E[S.RECOGNIZER_STATUS.MOVE]=S.STAGE.MOVE,E[S.RECOGNIZER_STATUS.END]=S.STAGE.END,E[S.RECOGNIZER_STATUS.CANCELLED]=S.STAGE.CANCEL,E);exports.canResetStatusForPressMoveLike=function(E){return[S.RECOGNIZER_STATUS.END,S.RECOGNIZER_STATUS.CANCELLED,S.RECOGNIZER_STATUS.RECOGNIZED,S.RECOGNIZER_STATUS.FAILED].includes(E)?S.RECOGNIZER_STATUS.POSSIBLE:E},exports.default=function(E,T){var A=Object.assign({},E,T,{status:S.RECOGNIZER_STATUS.POSSIBLE,set:function(E,S){A[E]=S}});return A},exports.recognizeForPressMoveLike=function(E,A,R,C,N,G){var O=A(E),I=function(E,T,A){var R,C,N,G,O,I,e,_={1:(R={},R[S.RECOGNIZER_STATUS.POSSIBLE]=(C={},C[S.STAGE.MOVE]=S.RECOGNIZER_STATUS.START,C[S.STAGE.END]=S.RECOGNIZER_STATUS.FAILED,C[S.STAGE.CANCEL]=S.RECOGNIZER_STATUS.FAILED,C),R[S.RECOGNIZER_STATUS.START]=(N={},N[S.STAGE.MOVE]=S.RECOGNIZER_STATUS.MOVE,N[S.STAGE.END]=S.RECOGNIZER_STATUS.END,N[S.STAGE.CANCEL]=S.RECOGNIZER_STATUS.CANCELLED,N),R[S.RECOGNIZER_STATUS.MOVE]=(G={},G[S.STAGE.MOVE]=S.RECOGNIZER_STATUS.MOVE,G[S.STAGE.END]=S.RECOGNIZER_STATUS.END,G[S.STAGE.CANCEL]=S.RECOGNIZER_STATUS.CANCELLED,G),R),0:(O={},O[S.RECOGNIZER_STATUS.START]=(I={},I[S.STAGE.MOVE]=S.RECOGNIZER_STATUS.FAILED,I[S.STAGE.END]=S.RECOGNIZER_STATUS.FAILED,I[S.STAGE.CANCEL]=S.RECOGNIZER_STATUS.CANCELLED,I),O[S.RECOGNIZER_STATUS.MOVE]=(e={},e[S.STAGE.START]=S.RECOGNIZER_STATUS.FAILED,e[S.STAGE.MOVE]=S.RECOGNIZER_STATUS.FAILED,e[S.STAGE.END]=S.RECOGNIZER_STATUS.END,e[S.STAGE.CANCEL]=S.RECOGNIZER_STATUS.CANCELLED,e),O)}[Number(E)][T];return void 0!==_&&_[A]||T}(O,C,E.stage),e=[S.RECOGNIZER_STATUS.START,S.RECOGNIZER_STATUS.MOVE].includes(I);return G([e,I]),e&&N(R),(e||[S.RECOGNIZER_STATUS.END,S.RECOGNIZER_STATUS.CANCELLED].includes(I))&&N(R+T[I]),O};
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var T=require("tslib"),S=require("@any-touch/shared");function t(T){-1!==[S.STATUS_END,S.STATUS_CANCELLED,S.STATUS_RECOGNIZED,S.STATUS_FAILED].indexOf(T.status)&&(T.status=S.STATUS_POSSIBLE)}var s=function(){function t(T){this.disabled=!1,this.isRecognized=!1,this.status=S.STATUS_POSSIBLE,this.recognizerMap={},this.computeFunctions=[],this.options=T,this.name=this.options.name}return t.prototype.set=function(S){return void 0!==S&&(this.options=T.__assign(T.__assign({},this.options),S)),this},t.prototype.isValidPointLength=function(T){return this.options.pointLength===T},t}();exports.default=s,exports.recognizeForPressMoveLike=function(T,s,e){var A=T.test(s);t(T);var _=s.stage;T.status=function(T,t,s){var e,A,_,i,E,U,n,o={1:(e={},e[S.STATUS_POSSIBLE]=(A={},A[S.INPUT_MOVE]=S.STATUS_START,A[S.INPUT_END]=S.STATUS_FAILED,A[S.INPUT_CANCEL]=S.STATUS_FAILED,A),e[S.STATUS_START]=(_={},_[S.INPUT_MOVE]=S.STATUS_MOVE,_[S.INPUT_END]=S.STATUS_END,_[S.INPUT_CANCEL]=S.STATUS_CANCELLED,_),e[S.STATUS_MOVE]=(i={},i[S.INPUT_MOVE]=S.STATUS_MOVE,i[S.INPUT_END]=S.STATUS_END,i[S.INPUT_CANCEL]=S.STATUS_CANCELLED,i),e),0:(E={},E[S.STATUS_START]=(U={},U[S.INPUT_MOVE]=S.STATUS_FAILED,U[S.INPUT_END]=S.STATUS_FAILED,U[S.INPUT_CANCEL]=S.STATUS_CANCELLED,U),E[S.STATUS_MOVE]=(n={},n[S.INPUT_START]=S.STATUS_FAILED,n[S.INPUT_MOVE]=S.STATUS_FAILED,n[S.INPUT_END]=S.STATUS_FAILED,n[S.INPUT_CANCEL]=S.STATUS_CANCELLED,n),E)}[Number(T)][t];return void 0!==o&&o[s]||t}(A,T.status,_),T.isRecognized=[S.STATUS_START,S.STATUS_MOVE].includes(T.status);var i=T.name,E=T.status,U=T.isRecognized;return U&&e(i),(U||[S.STATUS_END,S.STATUS_CANCELLED].includes(T.status))&&e(i+E),A},exports.resetStatusForPressMoveLike=t;

@@ -1,12 +0,11 @@

import { EventTrigger, Computed, RECOGNIZER_STATUS } from '@any-touch/shared';
import { EventTrigger, Computed } from '@any-touch/shared';
import Recognizer from './index';
/**
* 适用于移动类型手势的识别函数
* @param computed 计算数据
* @param test 测试函数
* @param name 手势名称
* @param status 当前识别器状态
* @param emit 事件触发器
* @param after 识别后触发,无论成功/失败
* @returns 是否识别
* 适用于大部分移动类型的手势,
* 如pan/rotate/pinch/swipe
* @param recognizer 识别器实例
* @param computed 当前输入
* @param emit at实例上的emit函数
* @returns 是否通过test
*/
export default function (computed: Computed, test: (c: Computed) => boolean, name: string, status: RECOGNIZER_STATUS, emit: EventTrigger, after: ([isRecognized, status]: [boolean, RECOGNIZER_STATUS]) => void): boolean;
export default function (recognizer: Recognizer, computed: Computed, emit: EventTrigger): boolean;

@@ -1,2 +0,2 @@

import { RECOGNIZER_STATUS } from '@any-touch/shared';
export default function (status: RECOGNIZER_STATUS): any;
import Recognizer from './index';
export default function (recognizer: Recognizer): void;
{
"name": "@any-touch/recognizer",
"version": "1.0.4",
"version": "1.0.5",
"description": "any-touch的识别器的基类.",

@@ -11,4 +11,3 @@ "main": "./dist/index",

"dependencies": {
"@any-touch/shared": "^1.0.4",
"tslib": "^2.0.1"
"@any-touch/shared": "^1.0.5"
},

@@ -22,3 +21,3 @@ "files": [

"sideEffects": false,
"gitHead": "bf4837c370cf89353eff7911b7d2c772198fa301"
"gitHead": "bf4d9191714dd0852ca76a335d5a232af36a691e"
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc