dualsense-ts 2.1.44 → 2.2.48
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/elements/analog.d.ts +46 -3
- package/dist/elements/analog.d.ts.map +1 -1
- package/dist/elements/analog.js +41 -14
- package/dist/elements/analog.js.map +1 -1
- package/dist/elements/axis.js +3 -3
- package/dist/elements/axis.js.map +1 -1
- package/dist/elements/unisense.js +1 -1
- package/dist/elements/unisense.js.map +1 -1
- package/dist/input.d.ts +27 -0
- package/dist/input.d.ts.map +1 -1
- package/dist/input.js +9 -3
- package/dist/input.js.map +1 -1
- package/docs/Analog.md +81 -90
- package/docs/AnalogParams.md +7 -7
- package/docs/Axis.md +72 -79
- package/docs/Brightness.md +8 -8
- package/docs/CommandScopeA.md +16 -16
- package/docs/CommandScopeB.md +14 -14
- package/docs/Dpad.md +74 -81
- package/docs/DpadParams.md +8 -8
- package/docs/DualSenseCommand.md +45 -45
- package/docs/Dualsense.md +83 -90
- package/docs/DualsenseHID.md +47 -42
- package/docs/DualsenseHIDState.md +41 -41
- package/docs/DualsenseParams.md +17 -17
- package/docs/Exports.md +18 -21
- package/docs/Haptic.md +1 -1
- package/docs/Home.md +29 -31
- package/docs/Indicator.md +2 -2
- package/docs/Input.md +70 -79
- package/docs/InputId.md +84 -84
- package/docs/InputParams.md +4 -4
- package/docs/LedOptions.md +10 -10
- package/docs/Momentary.md +70 -77
- package/docs/Motion.md +2 -2
- package/docs/Mute.md +71 -89
- package/docs/PlayerID.md +12 -12
- package/docs/PulseOptions.md +8 -8
- package/docs/Touchpad.md +120 -94
- package/docs/Trigger.md +75 -82
- package/docs/TriggerMode.md +22 -22
- package/docs/Unisense.md +74 -81
- package/docs/UnisenseParams.md +7 -7
- package/package.json +3 -3
- package/src/elements/analog.spec.ts +17 -0
- package/src/elements/analog.ts +56 -18
- package/src/elements/axis.spec.ts +31 -0
- package/src/elements/axis.ts +3 -3
- package/src/elements/unisense.ts +1 -1
- package/src/input.ts +27 -9
- package/docs/Increment.md +0 -1554
- package/docs/Touch.md +0 -1781
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Axis } from "./axis";
|
|
2
2
|
import { Momentary } from "./momentary";
|
|
3
3
|
import { Input, InputParams } from "../input";
|
|
4
|
-
import { Radians, Degrees, Magnitude } from "../math";
|
|
4
|
+
import { Radians, Degrees, Magnitude, Force } from "../math";
|
|
5
|
+
/**
|
|
6
|
+
* Configuration for an analog joystick and its basic inputs.
|
|
7
|
+
*/
|
|
5
8
|
export interface AnalogParams extends InputParams {
|
|
6
9
|
button?: InputParams;
|
|
7
10
|
x?: InputParams;
|
|
@@ -18,21 +21,61 @@ export interface AnalogParams extends InputParams {
|
|
|
18
21
|
*/
|
|
19
22
|
export declare class Analog extends Input<Analog> {
|
|
20
23
|
readonly state: Analog;
|
|
24
|
+
/**
|
|
25
|
+
* The left/right position of the input.
|
|
26
|
+
*/
|
|
21
27
|
readonly x: Axis;
|
|
28
|
+
/**
|
|
29
|
+
* The up/down position of the input.
|
|
30
|
+
*/
|
|
22
31
|
readonly y: Axis;
|
|
32
|
+
/**
|
|
33
|
+
* Button triggered by pressing the stick.
|
|
34
|
+
*/
|
|
23
35
|
readonly button: Momentary;
|
|
24
36
|
constructor(params?: AnalogParams);
|
|
37
|
+
/**
|
|
38
|
+
* Returns true if the stick is away from the idle position, or the button is pressed.
|
|
39
|
+
*/
|
|
25
40
|
get active(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Returns a direction and magnitude representing the stick's position.
|
|
43
|
+
*/
|
|
26
44
|
get vector(): {
|
|
27
|
-
direction:
|
|
28
|
-
magnitude:
|
|
45
|
+
direction: Radians;
|
|
46
|
+
magnitude: Magnitude;
|
|
29
47
|
};
|
|
48
|
+
/**
|
|
49
|
+
* Returns an force from the stick's position.
|
|
50
|
+
*/
|
|
51
|
+
get force(): Force;
|
|
52
|
+
/**
|
|
53
|
+
* Returns a magnitude from the stick's position.
|
|
54
|
+
*/
|
|
30
55
|
get magnitude(): Magnitude;
|
|
56
|
+
/**
|
|
57
|
+
* Returns the stick's angle in radians.
|
|
58
|
+
*/
|
|
31
59
|
get direction(): Radians;
|
|
60
|
+
/**
|
|
61
|
+
* Alias for `.direction`
|
|
62
|
+
*/
|
|
32
63
|
get radians(): Radians;
|
|
64
|
+
/**
|
|
65
|
+
* Alias for `.direction`
|
|
66
|
+
*/
|
|
33
67
|
get angle(): Radians;
|
|
68
|
+
/**
|
|
69
|
+
* Alias for `.direction` converted to degrees.
|
|
70
|
+
*/
|
|
34
71
|
get directionDegrees(): Degrees;
|
|
72
|
+
/**
|
|
73
|
+
* Alias for `.directionDegrees`.
|
|
74
|
+
*/
|
|
35
75
|
get degrees(): Degrees;
|
|
76
|
+
/**
|
|
77
|
+
* Alias for `.directionDegrees`.
|
|
78
|
+
*/
|
|
36
79
|
get angleDegrees(): Degrees;
|
|
37
80
|
}
|
|
38
81
|
//# sourceMappingURL=analog.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"analog.d.ts","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,CAAC,CAAC,EAAE,WAAW,CAAC;IAChB,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,qBAAa,MAAO,SAAQ,KAAK,CAAC,MAAM,CAAC;IACvC,SAAgB,KAAK,EAAE,MAAM,CAAQ;IAErC;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,CAAC,EAAE,IAAI,CAAC;IACxB;;OAEG;IACH,SAAgB,MAAM,EAAE,SAAS,CAAC;gBAEtB,MAAM,CAAC,EAAE,YAAY;IAajC;;OAEG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED;;OAEG;IACH,IAAW,MAAM,IAAI;QAAE,SAAS,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,SAAS,CAAA;KAAE,CAEhE;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,KAAK,CAIxB;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,SAAS,CAEhC;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAW,gBAAgB,IAAI,OAAO,CAErC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,OAAO,CAEjC;CACF"}
|
package/dist/elements/analog.js
CHANGED
|
@@ -16,43 +16,70 @@ class Analog extends input_1.Input {
|
|
|
16
16
|
constructor(params) {
|
|
17
17
|
super(params);
|
|
18
18
|
this.state = this;
|
|
19
|
-
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
19
|
+
const { button, x, y, threshold } = params || {};
|
|
20
|
+
this.button = new momentary_1.Momentary(button || { icon: "3", name: "Button" });
|
|
21
|
+
this.x = new axis_1.Axis(x || { icon: "↔", name: "X", threshold: threshold || 0.07 });
|
|
22
|
+
this.y = new axis_1.Axis(y || { icon: "↕", name: "Y", threshold: threshold || 0.07 });
|
|
22
23
|
}
|
|
23
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Returns true if the stick is away from the idle position, or the button is pressed.
|
|
26
|
+
*/
|
|
24
27
|
get active() {
|
|
25
|
-
return this.
|
|
28
|
+
return this.x.active || this.y.active || this.button.active;
|
|
26
29
|
}
|
|
27
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Returns a direction and magnitude representing the stick's position.
|
|
32
|
+
*/
|
|
28
33
|
get vector() {
|
|
29
34
|
return { direction: this.direction, magnitude: this.magnitude };
|
|
30
35
|
}
|
|
31
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Returns an force from the stick's position.
|
|
38
|
+
*/
|
|
39
|
+
get force() {
|
|
40
|
+
return this.active
|
|
41
|
+
? Math.max(Math.min(Math.hypot(this.x.state, this.y.state), 1), -1)
|
|
42
|
+
: 0;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Returns a magnitude from the stick's position.
|
|
46
|
+
*/
|
|
32
47
|
get magnitude() {
|
|
33
|
-
return Math.
|
|
48
|
+
return Math.abs(this.force);
|
|
34
49
|
}
|
|
35
|
-
|
|
50
|
+
/**
|
|
51
|
+
* Returns the stick's angle in radians.
|
|
52
|
+
*/
|
|
36
53
|
get direction() {
|
|
37
54
|
return Math.atan2(this.y.state, this.x.state);
|
|
38
55
|
}
|
|
39
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Alias for `.direction`
|
|
58
|
+
*/
|
|
40
59
|
get radians() {
|
|
41
60
|
return this.direction;
|
|
42
61
|
}
|
|
43
|
-
|
|
62
|
+
/**
|
|
63
|
+
* Alias for `.direction`
|
|
64
|
+
*/
|
|
44
65
|
get angle() {
|
|
45
66
|
return this.direction;
|
|
46
67
|
}
|
|
47
|
-
|
|
68
|
+
/**
|
|
69
|
+
* Alias for `.direction` converted to degrees.
|
|
70
|
+
*/
|
|
48
71
|
get directionDegrees() {
|
|
49
72
|
return (this.direction * 180) / Math.PI;
|
|
50
73
|
}
|
|
51
|
-
|
|
74
|
+
/**
|
|
75
|
+
* Alias for `.directionDegrees`.
|
|
76
|
+
*/
|
|
52
77
|
get degrees() {
|
|
53
78
|
return this.directionDegrees;
|
|
54
79
|
}
|
|
55
|
-
|
|
80
|
+
/**
|
|
81
|
+
* Alias for `.directionDegrees`.
|
|
82
|
+
*/
|
|
56
83
|
get angleDegrees() {
|
|
57
84
|
return this.directionDegrees;
|
|
58
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,2CAAwC;AACxC,oCAA8C;
|
|
1
|
+
{"version":3,"file":"analog.js","sourceRoot":"","sources":["../../src/elements/analog.ts"],"names":[],"mappings":";;;AAAA,iCAA8B;AAC9B,2CAAwC;AACxC,oCAA8C;AAa9C;;;;;;;GAOG;AACH,MAAa,MAAO,SAAQ,aAAa;IAgBvC,YAAY,MAAqB;QAC/B,KAAK,CAAC,MAAM,CAAC,CAAC;QAhBA,UAAK,GAAW,IAAI,CAAC;QAiBnC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,IAAI,EAAE,CAAC;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CACf,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAC5D,CAAC;QACF,IAAI,CAAC,CAAC,GAAG,IAAI,WAAI,CACf,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,CAC5D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM;YAChB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;CACF;AApGD,wBAoGC"}
|
package/dist/elements/axis.js
CHANGED
|
@@ -8,13 +8,13 @@ class Axis extends input_1.Input {
|
|
|
8
8
|
this.state = 0;
|
|
9
9
|
}
|
|
10
10
|
get active() {
|
|
11
|
-
return this.
|
|
11
|
+
return Math.abs(this.state) > this.threshold;
|
|
12
12
|
}
|
|
13
13
|
get force() {
|
|
14
|
-
return this.state;
|
|
14
|
+
return this.active ? this.state : 0;
|
|
15
15
|
}
|
|
16
16
|
get magnitude() {
|
|
17
|
-
return Math.abs(this.
|
|
17
|
+
return Math.abs(this.force);
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.Axis = Axis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../../src/elements/axis.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAGjC,MAAa,IAAK,SAAQ,aAAY;IAAtC;;QACS,UAAK,GAAU,CAAC,CAAC;IAa1B,CAAC;IAXC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"axis.js","sourceRoot":"","sources":["../../src/elements/axis.ts"],"names":[],"mappings":";;;AAAA,oCAAiC;AAGjC,MAAa,IAAK,SAAQ,aAAY;IAAtC;;QACS,UAAK,GAAU,CAAC,CAAC;IAa1B,CAAC;IAXC,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IAC/C,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAW,SAAS;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAdD,oBAcC"}
|
|
@@ -17,7 +17,7 @@ class Unisense extends input_1.Input {
|
|
|
17
17
|
threshold: (1 / 255) * 3,
|
|
18
18
|
});
|
|
19
19
|
this.bumper = new momentary_1.Momentary(params?.bumper || { icon: "1", name: "Bumper" });
|
|
20
|
-
this.analog = new analog_1.Analog(params?.analog || { icon: "⨁", name: "Analog", threshold:
|
|
20
|
+
this.analog = new analog_1.Analog(params?.analog || { icon: "⨁", name: "Analog", threshold: 0.07 });
|
|
21
21
|
this.haptic = new haptics_1.Haptic();
|
|
22
22
|
}
|
|
23
23
|
get active() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unisense.js","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,2CAAwC;AACxC,qCAAkC;AAClC,wCAAoC;AACpC,oCAA8C;AAQ9C,iFAAiF;AACjF,MAAa,QAAS,SAAQ,aAAe;IAQ3C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAa,IAAI,CAAC;QAUrC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CACxB,MAAM,EAAE,OAAO,IAAI;YACjB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;SACzB,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CACzB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CACtB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"unisense.js","sourceRoot":"","sources":["../../src/elements/unisense.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AACpC,2CAAwC;AACxC,qCAAkC;AAClC,wCAAoC;AACpC,oCAA8C;AAQ9C,iFAAiF;AACjF,MAAa,QAAS,SAAQ,aAAe;IAQ3C,YAAY,MAAuB;QACjC,KAAK,CAAC,MAAM,CAAC,CAAC;QARA,UAAK,GAAa,IAAI,CAAC;QAUrC,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CACxB,MAAM,EAAE,OAAO,IAAI;YACjB,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,SAAS;YACf,SAAS,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;SACzB,CACF,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,qBAAS,CACzB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,CAChD,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CACtB,MAAM,EAAE,MAAM,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,CACjE,CAAC;QACF,IAAI,CAAC,MAAM,GAAG,IAAI,gBAAM,EAAE,CAAC;IAC7B,CAAC;IAED,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IACzE,CAAC;CACF;AA9BD,4BA8BC"}
|
package/dist/input.d.ts
CHANGED
|
@@ -30,10 +30,25 @@ export declare interface Input<Type> {
|
|
|
30
30
|
*/
|
|
31
31
|
export declare abstract class Input<Type> extends EventEmitter implements AsyncIterator<Input<Type>> {
|
|
32
32
|
readonly id: symbol;
|
|
33
|
+
/**
|
|
34
|
+
* Timestamp of the last received input that changed the state.
|
|
35
|
+
*/
|
|
33
36
|
lastChange: number;
|
|
37
|
+
/**
|
|
38
|
+
* Timestamp of the last received input, even if it didn't change the state.
|
|
39
|
+
*/
|
|
34
40
|
lastInput: number;
|
|
41
|
+
/**
|
|
42
|
+
* For numeric inputs, ignore state changes smaller than this threshold.
|
|
43
|
+
*/
|
|
35
44
|
threshold: number;
|
|
45
|
+
/**
|
|
46
|
+
* Provide the type and default value for the input.
|
|
47
|
+
*/
|
|
36
48
|
abstract state: Type;
|
|
49
|
+
/**
|
|
50
|
+
* Implement a function that returns true if the user is actively engaged with the input.
|
|
51
|
+
*/
|
|
37
52
|
abstract get active(): boolean;
|
|
38
53
|
/**
|
|
39
54
|
* Resolves on the next change to this input's state.
|
|
@@ -48,13 +63,25 @@ export declare abstract class Input<Type> extends EventEmitter implements AsyncI
|
|
|
48
63
|
*/
|
|
49
64
|
toString(): string;
|
|
50
65
|
constructor(params?: InputParams);
|
|
66
|
+
/**
|
|
67
|
+
* Optionally, implement a function that returns true if the provided state is worth an event
|
|
68
|
+
*/
|
|
51
69
|
[InputChanged]: (state: Type, newState: Type) => boolean;
|
|
52
70
|
[inspect.custom](): string;
|
|
53
71
|
[Symbol.asyncIterator](): AsyncIterator<this>;
|
|
54
72
|
[Symbol.toPrimitive](hint: "number" | "string" | "default"): number | string;
|
|
55
73
|
get [Symbol.toStringTag](): string;
|
|
74
|
+
/**
|
|
75
|
+
* The name of this input.
|
|
76
|
+
*/
|
|
56
77
|
readonly [InputName]: string;
|
|
78
|
+
/**
|
|
79
|
+
* A short name for this input
|
|
80
|
+
*/
|
|
57
81
|
readonly [InputIcon]: string;
|
|
82
|
+
/**
|
|
83
|
+
* The Input's parent, if any
|
|
84
|
+
*/
|
|
58
85
|
[InputParent]?: Input<unknown>;
|
|
59
86
|
[InputChildless]: boolean;
|
|
60
87
|
/**
|
package/dist/input.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CACzB;AASD,QAAA,MAAM,UAAU,eAAuB,CAAC;AACxC,QAAA,MAAM,cAAc,eAA2B,CAAC;AAChD,QAAA,MAAM,WAAW,eAAwB,CAAC;AAC1C,QAAA,MAAM,kBAAkB,eAA+B,CAAC;AACxD,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,qBAAqB,eAAkC,CAAC;AAC9D,QAAA,MAAM,mBAAmB,eAAgC,CAAC;AAG1D,eAAO,MAAM,YAAY,eAAyB,CAAC;AAGnD,eAAO,MAAM,QAAQ,eAAqB,CAAC;AAC3C,eAAO,MAAM,SAAS,eAAsB,CAAC;AAC7C,eAAO,MAAM,SAAS,eAAsB,CAAC;AAE7C,oBAAY,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAElE,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC,IAAI;IACjC,EAAE,CACA,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,CACR,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAClB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,KACpB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAC9B,IAAI,CAAC;IACR,IAAI,CACF,KAAK,EAAE,UAAU,EACjB,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GACnD,OAAO,CAAC;CACZ;AAED;;;GAGG;AACH,8BAAsB,KAAK,CAAC,IAAI,CAC9B,SAAQ,YACR,YAAW,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAErC,SAAgB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"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"}
|
package/dist/input.js
CHANGED
|
@@ -30,11 +30,17 @@ exports.InputIcon = Symbol("InputIcon");
|
|
|
30
30
|
class Input extends events_1.EventEmitter {
|
|
31
31
|
constructor(params) {
|
|
32
32
|
super();
|
|
33
|
-
|
|
33
|
+
/**
|
|
34
|
+
* Timestamp of the last received input that changed the state.
|
|
35
|
+
*/
|
|
34
36
|
this.lastChange = Date.now();
|
|
35
|
-
|
|
37
|
+
/**
|
|
38
|
+
* Timestamp of the last received input, even if it didn't change the state.
|
|
39
|
+
*/
|
|
36
40
|
this.lastInput = Date.now();
|
|
37
|
-
|
|
41
|
+
/**
|
|
42
|
+
* For numeric inputs, ignore state changes smaller than this threshold.
|
|
43
|
+
*/
|
|
38
44
|
this.threshold = 0;
|
|
39
45
|
this[_a] = true;
|
|
40
46
|
const { icon, name, parent, threshold } = {
|
package/dist/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":";;;;AAAA,mCAAsC;AACtC,+BAA+B;AAS/B,MAAM,aAAa,GAA0C;IAC3D,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,qBAAqB;AACrB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACxD,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC9D,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE1D,+BAA+B;AAClB,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEnD,YAAY;AACC,QAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAkB7C;;;GAGG;AACH,MAAsB,KACpB,SAAQ,qBAAY;
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":";;;;AAAA,mCAAsC;AACtC,+BAA+B;AAS/B,MAAM,aAAa,GAA0C;IAC3D,IAAI,EAAE,KAAK;IACX,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,CAAC;CACb,CAAC;AAEF,qBAAqB;AACrB,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;AACxC,MAAM,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAChD,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAC1C,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;AACxD,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC9D,MAAM,qBAAqB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAC9D,MAAM,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAE1D,+BAA+B;AAClB,QAAA,YAAY,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;AAEnD,YAAY;AACC,QAAA,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAC9B,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAChC,QAAA,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;AAkB7C;;;GAGG;AACH,MAAsB,KACpB,SAAQ,qBAAY;IA6DpB,YAAY,MAAoB;QAC9B,KAAK,EAAE,CAAC;QAzDV;;WAEG;QACI,eAAU,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvC;;WAEG;QACI,cAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAEtC;;WAEG;QACI,cAAS,GAAW,CAAC,CAAC;QA2G7B,QAAgB,GAAY,IAAI,CAAC;QA7D/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG;YACxC,GAAG,aAAa;YAChB,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC;SAClB,CAAC;QACF,IAAI,CAAC,iBAAS,CAAC,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,iBAAS,CAAC,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,GAAG,MAAM,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAS,CAAC,CAAC,CAAC;QAElC,IAAI,CAAC,oBAAY,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAChD,YAAY,CAAC,GAAG,EAAE;YAChB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAY,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAlDD;;OAEG;IACI,IAAI,CACT,OAAuC,QAAQ;QAE/C,OAAO,IAAI,OAAO,CAAuB,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,OAAO,CACZ,OAAuC,QAAQ;QAE/C,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,QAAQ;QACb,OAAO,GAAG,IAAI,CAAC,iBAAS,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC3D,CAAC;IA4BD,wCAAwC;IACxC,CAAC,cAAO,CAAC,MAAM,CAAC;QACd,OAAO,GAAG,IAAI,CAAC,iBAAS,CAAC,IAAI,IAAI,CAAC,iBAAS,CAAC,KAAK,IAAI,CAAC,SAAS,CAC7D,IAAI,CAAC,KAAK,YAAY,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;YACtD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,KAAK,CACf,EAAE,CAAC;IACN,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,IAAqC;QACxD,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC;QACtD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;QACtB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;IAmBD;;;OAGG;IACH,OANC,cAAc,EAMd,UAAU,EAAC;QACV,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACpC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO;YAC3B,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC;oBAAE,OAAO;gBACnC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBACjC,IAAI,CAAC;oBACL,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;oBAChC,IAAI,CAAC;oBACL,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClC,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,CAAC,mBAAmB,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,CAAC,qBAAqB,CAAC,CAAC,KAAW,EAAE,QAAc;QACjD,OAAO,KAAK,KAAK,QAAQ,CAAC;IAC5B,CAAC;IAED,CAAC,qBAAqB,CAAC,CAAC,KAAa,EAAE,QAAgB;QACrD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;IACrD,CAAC;IAED,0EAA0E;IAC1E,CAAC,kBAAkB,CAAC;QAClB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;YAClC,OAAO,IAAI,CAAC,qBAAqB,CAGrB,CAAC;SACd;aAAM,IAAI,IAAI,CAAC,KAAK,YAAY,KAAK,EAAE;YACtC,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAClC;aAAM;YACL,OAAO,IAAI,CAAC,qBAAqB,CAAC,CAAC;SACpC;IACH,CAAC;IAED;;OAEG;IACH,CAAC,gBAAQ,CAAC,CAAC,KAAW;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,oBAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;YACzC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAChC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;gBAC9B,KAAK;oBACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC;oBAChC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;aACtC;SACF;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAlMD,sBAkMC"}
|