sequence-controller 1.0.0 → 1.0.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/dist/cjs/SequenceController.d.ts.map +1 -0
- package/dist/cjs/SequenceController.js +192 -0
- package/dist/cjs/SequenceController.js.map +1 -0
- package/dist/{index.d.ts → cjs/index.d.ts} +2 -2
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/SequenceController.d.ts +95 -0
- package/dist/esm/SequenceController.d.ts.map +1 -0
- package/dist/esm/SequenceController.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.d.ts +36 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js.map +1 -0
- package/package.json +9 -7
- package/dist/SequenceController.d.ts.map +0 -1
- package/dist/SequenceController.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -1
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- /package/dist/{SequenceController.d.ts → cjs/SequenceController.d.ts} +0 -0
- /package/dist/{types.d.ts → cjs/types.d.ts} +0 -0
- /package/dist/{SequenceController.js → esm/SequenceController.js} +0 -0
- /package/dist/{types.js → esm/types.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceController.d.ts","sourceRoot":"","sources":["../../src/SequenceController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAGR,KAAK,EACL,KAAK,EACL,KAAK,EAEL,cAAc,EAEd,IAAI,EACJ,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;GASG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAChD,6CAA6C;IAC7C,OAAO,CAAC,WAAW,CAAgB;IACnC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAoC;IACzD;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAuC;IAE/D;;;;;;;;OAQG;IACH,QAAQ,CACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,EACjD,KAAK,GAAE,KAAiB,GACvB,QAAQ;IAiCX;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,QAAQ;IAYvB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAE,KAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;IAiD3D;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAIxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SequenceController = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* SequenceController manages step combinations and sequences.
|
|
6
|
+
*
|
|
7
|
+
* It allows registering actions that should fire when specific
|
|
8
|
+
* combinations or ordered sequences of combinations occur.
|
|
9
|
+
*
|
|
10
|
+
* Steps represent currently active inputs (e.g. pressed keys).
|
|
11
|
+
* Actions are grouped by scopes so the same combinations can
|
|
12
|
+
* be reused in different contexts (e.g. editor, modal, global).
|
|
13
|
+
*/
|
|
14
|
+
class SequenceController {
|
|
15
|
+
/** Currently active steps (global state). */
|
|
16
|
+
activeSteps = new Set();
|
|
17
|
+
/**
|
|
18
|
+
* Index of actions grouped by scope.
|
|
19
|
+
*
|
|
20
|
+
* Structure:
|
|
21
|
+
* scope -> comboKey -> ComboIndexEntry[]
|
|
22
|
+
*/
|
|
23
|
+
scopedIndexes = new Map();
|
|
24
|
+
/**
|
|
25
|
+
* Current candidates for sequence progression.
|
|
26
|
+
*
|
|
27
|
+
* Stores partial progress of sequences that already matched
|
|
28
|
+
* one or more combos but haven't finished yet.
|
|
29
|
+
*
|
|
30
|
+
* Structure:
|
|
31
|
+
* scope -> actionId -> candidateState
|
|
32
|
+
*/
|
|
33
|
+
scopedCandidates = new Map();
|
|
34
|
+
/**
|
|
35
|
+
* Registers a new sequence action.
|
|
36
|
+
*
|
|
37
|
+
* @param sequence A single combo or an ordered sequence of combos.
|
|
38
|
+
* @param setup Action configuration (handler, clearDuration, etc.).
|
|
39
|
+
* @param scope Logical context where this action is active.
|
|
40
|
+
*
|
|
41
|
+
* @returns ActionId that can be used later to unregister the action.
|
|
42
|
+
*/
|
|
43
|
+
register(sequence, setup, scope = "$global") {
|
|
44
|
+
const id = crypto.randomUUID();
|
|
45
|
+
const normalized = Array.isArray(sequence[0])
|
|
46
|
+
? sequence
|
|
47
|
+
: [sequence];
|
|
48
|
+
if (!normalized[0] || normalized[0].length === 0)
|
|
49
|
+
throw Error("Empty sequence.");
|
|
50
|
+
const action = {
|
|
51
|
+
id,
|
|
52
|
+
sequence: normalized,
|
|
53
|
+
...setup,
|
|
54
|
+
};
|
|
55
|
+
const actionIndex = this.scopedIndexes.get(scope) ?? new Map();
|
|
56
|
+
normalized.forEach((combo, index) => {
|
|
57
|
+
const key = this.comboKey(combo);
|
|
58
|
+
const list = actionIndex.get(key) ?? [];
|
|
59
|
+
list.push({
|
|
60
|
+
action,
|
|
61
|
+
index,
|
|
62
|
+
});
|
|
63
|
+
actionIndex.set(key, list);
|
|
64
|
+
});
|
|
65
|
+
this.scopedIndexes.set(scope, actionIndex);
|
|
66
|
+
return id;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Removes previously registered action.
|
|
70
|
+
*
|
|
71
|
+
* Also clears any pending sequence candidates associated
|
|
72
|
+
* with the removed action.
|
|
73
|
+
* @param id ID of the action to be deleted
|
|
74
|
+
*/
|
|
75
|
+
unregister(id) {
|
|
76
|
+
for (const [scope, actionIndex] of this.scopedIndexes.entries()) {
|
|
77
|
+
actionIndex.delete(id);
|
|
78
|
+
this.scopedIndexes.set(scope, actionIndex);
|
|
79
|
+
}
|
|
80
|
+
for (const [scope, actionsCandidates] of this.scopedCandidates.entries()) {
|
|
81
|
+
actionsCandidates.delete(id);
|
|
82
|
+
this.scopedCandidates.set(scope, actionsCandidates);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Emits a new step.
|
|
87
|
+
*
|
|
88
|
+
* This method should be called whenever an input step occurs
|
|
89
|
+
* (e.g. keydown event).
|
|
90
|
+
*
|
|
91
|
+
* It checks whether the current active steps match any
|
|
92
|
+
* registered combos or progress any sequence.
|
|
93
|
+
*
|
|
94
|
+
* @param step Current step
|
|
95
|
+
* @param scope Current execution context
|
|
96
|
+
*
|
|
97
|
+
* @returns Array of [event, handler] tuples to be executed.
|
|
98
|
+
*/
|
|
99
|
+
emitStep(step, scope = "$global") {
|
|
100
|
+
this.cleanupCandidates(scope);
|
|
101
|
+
const firedToNextStep = new Set();
|
|
102
|
+
const actionIndex = this.scopedIndexes.get(scope);
|
|
103
|
+
if (!actionIndex)
|
|
104
|
+
return [];
|
|
105
|
+
this.activeSteps.add(step);
|
|
106
|
+
const key = this.activeKey();
|
|
107
|
+
const actions = actionIndex.get(key);
|
|
108
|
+
if (!actions)
|
|
109
|
+
return [];
|
|
110
|
+
const actionsCandidates = this.scopedCandidates.get(scope) ?? new Map();
|
|
111
|
+
const emitActions = actions.filter(({ action, index }) => {
|
|
112
|
+
const comboIndex = actionsCandidates.get(action.id)?.index ?? 0;
|
|
113
|
+
const combo = action.sequence[comboIndex];
|
|
114
|
+
if (!combo || index !== comboIndex || firedToNextStep.has(action.id))
|
|
115
|
+
return false;
|
|
116
|
+
firedToNextStep.add(action.id);
|
|
117
|
+
if (comboIndex === action.sequence.length - 1) {
|
|
118
|
+
actionsCandidates.delete(action.id);
|
|
119
|
+
this.scopedCandidates.set(scope, actionsCandidates);
|
|
120
|
+
return true;
|
|
121
|
+
}
|
|
122
|
+
actionsCandidates.set(action.id, {
|
|
123
|
+
index: comboIndex + 1,
|
|
124
|
+
timestamp: Date.now(),
|
|
125
|
+
clearDuration: action.clearDuration,
|
|
126
|
+
});
|
|
127
|
+
this.scopedCandidates.set(scope, actionsCandidates);
|
|
128
|
+
return false;
|
|
129
|
+
});
|
|
130
|
+
const fired = [];
|
|
131
|
+
for (const { action } of emitActions) {
|
|
132
|
+
fired.push([this.buildEvent(action), action.handler]);
|
|
133
|
+
}
|
|
134
|
+
return fired;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Removes step from active steps set.
|
|
138
|
+
*
|
|
139
|
+
* Should be called when input step ends
|
|
140
|
+
* (e.g. keyup event).
|
|
141
|
+
* @param step Step to be deleted
|
|
142
|
+
*/
|
|
143
|
+
removeStep(step) {
|
|
144
|
+
this.activeSteps.delete(step);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Creates event object passed to action handlers.
|
|
148
|
+
*/
|
|
149
|
+
buildEvent(action) {
|
|
150
|
+
return {
|
|
151
|
+
sequence: action.sequence,
|
|
152
|
+
activeSteps: new Set(this.activeSteps),
|
|
153
|
+
timestamp: Date.now(),
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Generates a unique key for a combo.
|
|
158
|
+
*
|
|
159
|
+
* Steps are sorted so combo order doesn't matter.
|
|
160
|
+
*/
|
|
161
|
+
comboKey(combo) {
|
|
162
|
+
const strings = combo.map((step) => step.toString()).sort();
|
|
163
|
+
return JSON.stringify(strings);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Generates key representing currently active steps.
|
|
167
|
+
*/
|
|
168
|
+
activeKey() {
|
|
169
|
+
const strings = [...this.activeSteps].map((step) => step.toString()).sort();
|
|
170
|
+
return JSON.stringify(strings);
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Removes expired sequence candidates.
|
|
174
|
+
*
|
|
175
|
+
* Candidates expire if they are not continued within
|
|
176
|
+
* `clearDuration` seconds.
|
|
177
|
+
*/
|
|
178
|
+
cleanupCandidates(scope) {
|
|
179
|
+
const now = Date.now();
|
|
180
|
+
const actionsCandidates = this.scopedCandidates.get(scope);
|
|
181
|
+
if (!actionsCandidates)
|
|
182
|
+
return;
|
|
183
|
+
for (const [id, { timestamp, clearDuration }] of actionsCandidates) {
|
|
184
|
+
const clearMs = (clearDuration ?? 3) * 1000;
|
|
185
|
+
if (now - timestamp > clearMs) {
|
|
186
|
+
actionsCandidates.delete(id);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
exports.SequenceController = SequenceController;
|
|
192
|
+
//# sourceMappingURL=SequenceController.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceController.js","sourceRoot":"","sources":["../../src/SequenceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "./SequenceController";
|
|
2
|
-
export type { Step, Combo, Sequence, ToString, ActionId, SequenceEvent, Fired, SequenceActionHandler, SequenceAction, } from "./types";
|
|
1
|
+
export * from "./SequenceController.js";
|
|
2
|
+
export type { Step, Combo, Sequence, ToString, ActionId, SequenceEvent, Fired, SequenceActionHandler, SequenceAction, } from "./types.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,YAAY,EACV,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,KAAK,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./SequenceController.js"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAEtD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI;IACtC,aAAa,CAAC,CAAC,CAAC;IAChB,qBAAqB,CAAC,CAAC,CAAC;CACzB,EAAE,CAAC;AAEJ,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAEnB,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC/C,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAChD,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,CAC/C,QAAQ,EACR,eAAe,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { ActionId, Combo, Fired, Scope, SequenceAction, Step, ToString } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* SequenceController manages step combinations and sequences.
|
|
4
|
+
*
|
|
5
|
+
* It allows registering actions that should fire when specific
|
|
6
|
+
* combinations or ordered sequences of combinations occur.
|
|
7
|
+
*
|
|
8
|
+
* Steps represent currently active inputs (e.g. pressed keys).
|
|
9
|
+
* Actions are grouped by scopes so the same combinations can
|
|
10
|
+
* be reused in different contexts (e.g. editor, modal, global).
|
|
11
|
+
*/
|
|
12
|
+
export declare class SequenceController<T extends ToString> {
|
|
13
|
+
/** Currently active steps (global state). */
|
|
14
|
+
private activeSteps;
|
|
15
|
+
/**
|
|
16
|
+
* Index of actions grouped by scope.
|
|
17
|
+
*
|
|
18
|
+
* Structure:
|
|
19
|
+
* scope -> comboKey -> ComboIndexEntry[]
|
|
20
|
+
*/
|
|
21
|
+
private scopedIndexes;
|
|
22
|
+
/**
|
|
23
|
+
* Current candidates for sequence progression.
|
|
24
|
+
*
|
|
25
|
+
* Stores partial progress of sequences that already matched
|
|
26
|
+
* one or more combos but haven't finished yet.
|
|
27
|
+
*
|
|
28
|
+
* Structure:
|
|
29
|
+
* scope -> actionId -> candidateState
|
|
30
|
+
*/
|
|
31
|
+
private scopedCandidates;
|
|
32
|
+
/**
|
|
33
|
+
* Registers a new sequence action.
|
|
34
|
+
*
|
|
35
|
+
* @param sequence A single combo or an ordered sequence of combos.
|
|
36
|
+
* @param setup Action configuration (handler, clearDuration, etc.).
|
|
37
|
+
* @param scope Logical context where this action is active.
|
|
38
|
+
*
|
|
39
|
+
* @returns ActionId that can be used later to unregister the action.
|
|
40
|
+
*/
|
|
41
|
+
register(sequence: Combo<T> | Combo<T>[], setup: Omit<SequenceAction<T>, "id" | "sequence">, scope?: Scope): ActionId;
|
|
42
|
+
/**
|
|
43
|
+
* Removes previously registered action.
|
|
44
|
+
*
|
|
45
|
+
* Also clears any pending sequence candidates associated
|
|
46
|
+
* with the removed action.
|
|
47
|
+
* @param id ID of the action to be deleted
|
|
48
|
+
*/
|
|
49
|
+
unregister(id: ActionId): void;
|
|
50
|
+
/**
|
|
51
|
+
* Emits a new step.
|
|
52
|
+
*
|
|
53
|
+
* This method should be called whenever an input step occurs
|
|
54
|
+
* (e.g. keydown event).
|
|
55
|
+
*
|
|
56
|
+
* It checks whether the current active steps match any
|
|
57
|
+
* registered combos or progress any sequence.
|
|
58
|
+
*
|
|
59
|
+
* @param step Current step
|
|
60
|
+
* @param scope Current execution context
|
|
61
|
+
*
|
|
62
|
+
* @returns Array of [event, handler] tuples to be executed.
|
|
63
|
+
*/
|
|
64
|
+
emitStep(step: Step<T>, scope?: Scope): Fired<T>;
|
|
65
|
+
/**
|
|
66
|
+
* Removes step from active steps set.
|
|
67
|
+
*
|
|
68
|
+
* Should be called when input step ends
|
|
69
|
+
* (e.g. keyup event).
|
|
70
|
+
* @param step Step to be deleted
|
|
71
|
+
*/
|
|
72
|
+
removeStep(step: Step<T>): void;
|
|
73
|
+
/**
|
|
74
|
+
* Creates event object passed to action handlers.
|
|
75
|
+
*/
|
|
76
|
+
private buildEvent;
|
|
77
|
+
/**
|
|
78
|
+
* Generates a unique key for a combo.
|
|
79
|
+
*
|
|
80
|
+
* Steps are sorted so combo order doesn't matter.
|
|
81
|
+
*/
|
|
82
|
+
private comboKey;
|
|
83
|
+
/**
|
|
84
|
+
* Generates key representing currently active steps.
|
|
85
|
+
*/
|
|
86
|
+
private activeKey;
|
|
87
|
+
/**
|
|
88
|
+
* Removes expired sequence candidates.
|
|
89
|
+
*
|
|
90
|
+
* Candidates expire if they are not continued within
|
|
91
|
+
* `clearDuration` seconds.
|
|
92
|
+
*/
|
|
93
|
+
private cleanupCandidates;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=SequenceController.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceController.d.ts","sourceRoot":"","sources":["../../src/SequenceController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAGR,KAAK,EACL,KAAK,EACL,KAAK,EAEL,cAAc,EAEd,IAAI,EACJ,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;GASG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAChD,6CAA6C;IAC7C,OAAO,CAAC,WAAW,CAAgB;IACnC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAoC;IACzD;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAuC;IAE/D;;;;;;;;OAQG;IACH,QAAQ,CACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,EACjD,KAAK,GAAE,KAAiB,GACvB,QAAQ;IAiCX;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,QAAQ;IAYvB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAE,KAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;IAiD3D;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAIxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceController.js","sourceRoot":"","sources":["../../src/SequenceController.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,YAAY,EACV,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,KAAK,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export type ToString = {
|
|
2
|
+
toString: () => string;
|
|
3
|
+
};
|
|
4
|
+
export type ActionId = string;
|
|
5
|
+
export type Scope = string;
|
|
6
|
+
export type Step<T extends ToString> = T;
|
|
7
|
+
export type Combo<T extends ToString> = Step<T>[];
|
|
8
|
+
export type Sequence<T extends ToString> = Combo<T>[];
|
|
9
|
+
export type SequenceEvent<T extends ToString> = {
|
|
10
|
+
sequence: Sequence<T>;
|
|
11
|
+
activeSteps: Set<T>;
|
|
12
|
+
timestamp: number;
|
|
13
|
+
};
|
|
14
|
+
export type Fired<T extends ToString> = [
|
|
15
|
+
SequenceEvent<T>,
|
|
16
|
+
SequenceActionHandler<T>
|
|
17
|
+
][];
|
|
18
|
+
export type SequenceActionHandler<T extends ToString, K extends SequenceEvent<T> = SequenceEvent<T>> = (e: K) => void;
|
|
19
|
+
export type SequenceAction<T extends ToString> = {
|
|
20
|
+
id: ActionId;
|
|
21
|
+
sequence: Sequence<T>;
|
|
22
|
+
handler: SequenceActionHandler<T>;
|
|
23
|
+
clearDuration?: number;
|
|
24
|
+
};
|
|
25
|
+
export type ComboIndexEntry<T extends ToString> = {
|
|
26
|
+
action: SequenceAction<T>;
|
|
27
|
+
index: number;
|
|
28
|
+
};
|
|
29
|
+
export type ActionIndex<T extends ToString> = Map<ActionId, ComboIndexEntry<T>[]>;
|
|
30
|
+
export type ActionCandidate = {
|
|
31
|
+
index: number;
|
|
32
|
+
timestamp: number;
|
|
33
|
+
clearDuration: number | undefined;
|
|
34
|
+
};
|
|
35
|
+
export type ActionsCandidates = Map<ActionId, ActionCandidate>;
|
|
36
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAEtD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI;IACtC,aAAa,CAAC,CAAC,CAAC;IAChB,qBAAqB,CAAC,CAAC,CAAC;CACzB,EAAE,CAAC;AAEJ,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAEnB,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC/C,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAChD,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,CAC/C,QAAQ,EACR,eAAe,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sequence-controller",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "A small engine for handling step combos and sequences with scoped actions.",
|
|
5
5
|
"author": "egorkk1211@gmail.com",
|
|
6
6
|
"license": "MIT",
|
|
7
|
-
"main": "dist/index.
|
|
8
|
-
"module": "dist/index.
|
|
7
|
+
"main": "dist/cjs/index.js",
|
|
8
|
+
"module": "dist/esm/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"files": [
|
|
11
11
|
"dist"
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
|
-
"build": "tsc -p tsconfig.json"
|
|
14
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
15
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
16
|
+
"build": "rm -rf dist && npm run build:esm && npm run build:cjs"
|
|
15
17
|
},
|
|
16
18
|
"keywords": [
|
|
17
19
|
"sequence",
|
|
@@ -33,9 +35,9 @@
|
|
|
33
35
|
},
|
|
34
36
|
"exports": {
|
|
35
37
|
".": {
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"types": "./dist/index.d.ts"
|
|
38
|
+
"require": "./dist/cjs/index.js",
|
|
39
|
+
"import": "./dist/esm/index.js",
|
|
40
|
+
"types": "./dist/esm/index.d.ts"
|
|
39
41
|
}
|
|
40
42
|
},
|
|
41
43
|
"publishConfig": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceController.d.ts","sourceRoot":"","sources":["../src/SequenceController.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EAGR,KAAK,EACL,KAAK,EACL,KAAK,EAEL,cAAc,EAEd,IAAI,EACJ,QAAQ,EACT,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;GASG;AACH,qBAAa,kBAAkB,CAAC,CAAC,SAAS,QAAQ;IAChD,6CAA6C;IAC7C,OAAO,CAAC,WAAW,CAAgB;IACnC;;;;;OAKG;IACH,OAAO,CAAC,aAAa,CAAoC;IACzD;;;;;;;;OAQG;IACH,OAAO,CAAC,gBAAgB,CAAuC;IAE/D;;;;;;;;OAQG;IACH,QAAQ,CACN,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAC/B,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,EACjD,KAAK,GAAE,KAAiB,GACvB,QAAQ;IAiCX;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,QAAQ;IAYvB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAE,KAAiB,GAAG,KAAK,CAAC,CAAC,CAAC;IAiD3D;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAIxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;OAEG;IACH,OAAO,CAAC,SAAS;IAKjB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAW1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SequenceController.js","sourceRoot":"","sources":["../src/SequenceController.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,YAAY,EACV,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,aAAa,EACb,KAAK,EACL,qBAAqB,EACrB,cAAc,GACf,MAAM,SAAS,CAAC"}
|
package/dist/index.js
DELETED
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC"}
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;CAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAE9B,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,CAAC;AAEzC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;AAElD,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAEtD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC9C,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,QAAQ,IAAI;IACtC,aAAa,CAAC,CAAC,CAAC;IAChB,qBAAqB,CAAC,CAAC,CAAC;CACzB,EAAE,CAAC;AAEJ,MAAM,MAAM,qBAAqB,CAC/B,CAAC,SAAS,QAAQ,EAClB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,IAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;AAEnB,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,QAAQ,IAAI;IAC/C,EAAE,EAAE,QAAQ,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtB,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,QAAQ,IAAI;IAChD,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,QAAQ,IAAI,GAAG,CAC/C,QAAQ,EACR,eAAe,CAAC,CAAC,CAAC,EAAE,CACrB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC"}
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|