@baleada/logic 0.23.1 → 0.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs +17 -7
- package/lib/index.d.ts +1 -0
- package/lib/index.js +17 -7
- package/package.json +1 -1
package/lib/index.cjs
CHANGED
|
@@ -1300,6 +1300,8 @@ function createMousepress(options = {}) {
|
|
|
1300
1300
|
onDown?.(toHookApi(api));
|
|
1301
1301
|
};
|
|
1302
1302
|
const mousemove = (event, api) => {
|
|
1303
|
+
const { pushSequence } = api;
|
|
1304
|
+
pushSequence(event);
|
|
1303
1305
|
storePointerMoveMetadata(event, api);
|
|
1304
1306
|
recognize(event, api);
|
|
1305
1307
|
onMove?.(toHookApi(api));
|
|
@@ -2070,7 +2072,7 @@ const initialMetadata = {
|
|
|
2070
2072
|
velocity: 0
|
|
2071
2073
|
};
|
|
2072
2074
|
function storePointerTimeMetadata(event, api, getShouldStore, setRequest, recognize) {
|
|
2073
|
-
const { getMetadata, getStatus, onRecognized } = api, metadata = getMetadata();
|
|
2075
|
+
const { getSequence, getMetadata, getStatus, onRecognized } = api, metadata = getMetadata();
|
|
2074
2076
|
if (!metadata.times) {
|
|
2075
2077
|
metadata.times = createClone()(initialMetadata.times);
|
|
2076
2078
|
}
|
|
@@ -2085,9 +2087,10 @@ function storePointerTimeMetadata(event, api, getShouldStore, setRequest, recogn
|
|
|
2085
2087
|
metadata.duration = Math.max(0, metadata.times.end - metadata.times.start);
|
|
2086
2088
|
const durationFromPrevious = Math.max(0, metadata.times.end - previousTime);
|
|
2087
2089
|
metadata.velocity = metadata.distance.straight.fromPrevious / durationFromPrevious;
|
|
2088
|
-
|
|
2090
|
+
const event2 = getSequence().at(-1);
|
|
2091
|
+
recognize?.(event2, api);
|
|
2089
2092
|
if (getStatus() === "recognized")
|
|
2090
|
-
onRecognized(
|
|
2093
|
+
onRecognized(event2);
|
|
2091
2094
|
storeDuration();
|
|
2092
2095
|
}
|
|
2093
2096
|
});
|
|
@@ -2265,11 +2268,18 @@ class Recognizeable {
|
|
|
2265
2268
|
}
|
|
2266
2269
|
recognize(sequenceItem, { onRecognized } = {}) {
|
|
2267
2270
|
this.recognizing();
|
|
2268
|
-
const type = this.toType(sequenceItem),
|
|
2269
|
-
|
|
2270
|
-
|
|
2271
|
-
|
|
2271
|
+
const type = this.toType(sequenceItem), pushSequence = (sequenceItem2) => {
|
|
2272
|
+
newSequence.push(sequenceItem2);
|
|
2273
|
+
if (this.maxSequenceLength !== true && newSequence.length > this.maxSequenceLength) {
|
|
2274
|
+
newSequence.shift();
|
|
2275
|
+
}
|
|
2276
|
+
}, newSequence = [];
|
|
2277
|
+
for (const sequenceItem2 of this.sequence) {
|
|
2278
|
+
pushSequence(sequenceItem2);
|
|
2279
|
+
}
|
|
2280
|
+
pushSequence(sequenceItem);
|
|
2272
2281
|
this.effectApi.getSequence = () => newSequence;
|
|
2282
|
+
this.effectApi.pushSequence = pushSequence;
|
|
2273
2283
|
this.effectApi.onRecognized = onRecognized || (() => {
|
|
2274
2284
|
});
|
|
2275
2285
|
this.effects[type]?.(sequenceItem, { ...this.effectApi });
|
package/lib/index.d.ts
CHANGED
|
@@ -160,6 +160,7 @@ type RecognizeableEffectApi<Type extends ListenableSupportedType, Metadata exten
|
|
|
160
160
|
recognized: () => void;
|
|
161
161
|
denied: () => void;
|
|
162
162
|
getSequence: () => ListenEffectParam<Type>[];
|
|
163
|
+
pushSequence: (sequenceItem: ListenEffectParam<Type>) => void;
|
|
163
164
|
onRecognized: (sequenceItem: ListenEffectParam<Type>) => any;
|
|
164
165
|
};
|
|
165
166
|
type RecognizeableStatus = 'recognized' | 'recognizing' | 'denied' | 'ready';
|
package/lib/index.js
CHANGED
|
@@ -1298,6 +1298,8 @@ function createMousepress(options = {}) {
|
|
|
1298
1298
|
onDown?.(toHookApi(api));
|
|
1299
1299
|
};
|
|
1300
1300
|
const mousemove = (event, api) => {
|
|
1301
|
+
const { pushSequence } = api;
|
|
1302
|
+
pushSequence(event);
|
|
1301
1303
|
storePointerMoveMetadata(event, api);
|
|
1302
1304
|
recognize(event, api);
|
|
1303
1305
|
onMove?.(toHookApi(api));
|
|
@@ -2068,7 +2070,7 @@ const initialMetadata = {
|
|
|
2068
2070
|
velocity: 0
|
|
2069
2071
|
};
|
|
2070
2072
|
function storePointerTimeMetadata(event, api, getShouldStore, setRequest, recognize) {
|
|
2071
|
-
const { getMetadata, getStatus, onRecognized } = api, metadata = getMetadata();
|
|
2073
|
+
const { getSequence, getMetadata, getStatus, onRecognized } = api, metadata = getMetadata();
|
|
2072
2074
|
if (!metadata.times) {
|
|
2073
2075
|
metadata.times = createClone()(initialMetadata.times);
|
|
2074
2076
|
}
|
|
@@ -2083,9 +2085,10 @@ function storePointerTimeMetadata(event, api, getShouldStore, setRequest, recogn
|
|
|
2083
2085
|
metadata.duration = Math.max(0, metadata.times.end - metadata.times.start);
|
|
2084
2086
|
const durationFromPrevious = Math.max(0, metadata.times.end - previousTime);
|
|
2085
2087
|
metadata.velocity = metadata.distance.straight.fromPrevious / durationFromPrevious;
|
|
2086
|
-
|
|
2088
|
+
const event2 = getSequence().at(-1);
|
|
2089
|
+
recognize?.(event2, api);
|
|
2087
2090
|
if (getStatus() === "recognized")
|
|
2088
|
-
onRecognized(
|
|
2091
|
+
onRecognized(event2);
|
|
2089
2092
|
storeDuration();
|
|
2090
2093
|
}
|
|
2091
2094
|
});
|
|
@@ -2263,11 +2266,18 @@ class Recognizeable {
|
|
|
2263
2266
|
}
|
|
2264
2267
|
recognize(sequenceItem, { onRecognized } = {}) {
|
|
2265
2268
|
this.recognizing();
|
|
2266
|
-
const type = this.toType(sequenceItem),
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2269
|
+
const type = this.toType(sequenceItem), pushSequence = (sequenceItem2) => {
|
|
2270
|
+
newSequence.push(sequenceItem2);
|
|
2271
|
+
if (this.maxSequenceLength !== true && newSequence.length > this.maxSequenceLength) {
|
|
2272
|
+
newSequence.shift();
|
|
2273
|
+
}
|
|
2274
|
+
}, newSequence = [];
|
|
2275
|
+
for (const sequenceItem2 of this.sequence) {
|
|
2276
|
+
pushSequence(sequenceItem2);
|
|
2277
|
+
}
|
|
2278
|
+
pushSequence(sequenceItem);
|
|
2270
2279
|
this.effectApi.getSequence = () => newSequence;
|
|
2280
|
+
this.effectApi.pushSequence = pushSequence;
|
|
2271
2281
|
this.effectApi.onRecognized = onRecognized || (() => {
|
|
2272
2282
|
});
|
|
2273
2283
|
this.effects[type]?.(sequenceItem, { ...this.effectApi });
|