@debuffjp/input 0.11.0 → 0.12.0

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/gamepad.d.ts CHANGED
@@ -44,6 +44,7 @@ export declare class Gamepads {
44
44
  fed: PadState | null | undefined;
45
45
  /** The raw pad state the next `poll()` uses: `fed`, else the first connected gamepad. */
46
46
  sample(): PadState | null;
47
+ private blocked;
47
48
  poll(): void;
48
49
  down(name: string): boolean;
49
50
  pressed(name: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../src/gamepad.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW;aACtB,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,SAAS,EAAE,CAAC;aACZ,QAAQ,EAAE,CAAC;aACX,KAAK,EAAE,EAAE;aACT,KAAK,EAAE,EAAE;aACT,KAAK,EAAE,EAAE;aACT,OAAO,EAAE,EAAE;aACX,OAAO,EAAE,EAAE;aACX,QAAQ,EAAE,EAAE;CACJ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;AAExF,wFAAwF;AACxF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,SAAS;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACzC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,iHAAiH;AACjH,qBAAa,QAAQ;IACnB,uDAAuD;IACvD,QAAQ,SAAO;IACf,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,6CAA6C;IAC7C,MAAM,SAAK;IACX,MAAM,SAAK;IACX,SAAS,UAAS;IAClB,kGAAkG;IAClG,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAEjC,yFAAyF;IACzF,MAAM,IAAI,QAAQ,GAAG,IAAI,CAGxB;IAED,IAAI,IAAI,IAAI,CAiBX;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1B;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9B;CACF"}
1
+ {"version":3,"file":"gamepad.d.ts","sourceRoot":"","sources":["../src/gamepad.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,WAAW;aACtB,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,IAAI,EAAE,CAAC;aACP,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,KAAK,EAAE,CAAC;aACR,SAAS,EAAE,CAAC;aACZ,QAAQ,EAAE,CAAC;aACX,KAAK,EAAE,EAAE;aACT,KAAK,EAAE,EAAE;aACT,KAAK,EAAE,EAAE;aACT,OAAO,EAAE,EAAE;aACX,OAAO,EAAE,EAAE;aACX,QAAQ,EAAE,EAAE;CACJ,CAAC;AAEX,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,WAAW,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CAAC;AAExF,wFAAwF;AACxF,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,SAAS;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACzC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;CACzB;AAED,iHAAiH;AACjH,qBAAa,QAAQ;IACnB,uDAAuD;IACvD,QAAQ,SAAO;IACf,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,6CAA6C;IAC7C,MAAM,SAAK;IACX,MAAM,SAAK;IACX,SAAS,UAAS;IAClB,kGAAkG;IAClG,GAAG,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,CAAC;IAEjC,yFAAyF;IACzF,MAAM,IAAI,QAAQ,GAAG,IAAI,CAWxB;IAED,OAAO,CAAC,OAAO,CAAS;IAExB,IAAI,IAAI,IAAI,CAiBX;IAED,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1B;IAED,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7B;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9B;CACF"}
package/dist/gamepad.js CHANGED
@@ -37,8 +37,19 @@ export class Gamepads {
37
37
  sample() {
38
38
  if (this.fed !== undefined)
39
39
  return this.fed;
40
- return (typeof navigator !== "undefined" && navigator.getGamepads && navigator.getGamepads().find((p) => p?.connected)) || null;
40
+ if (typeof navigator === "undefined" || !navigator.getGamepads || this.blocked)
41
+ return null;
42
+ try {
43
+ return navigator.getGamepads().find((p) => p?.connected) || null;
44
+ }
45
+ catch {
46
+ // A frame whose permissions policy disallows "gamepad" (a chat app's sandbox, an embed) throws here
47
+ // on every call. Treat it as no pad, once and for all, instead of crashing the game each frame.
48
+ this.blocked = true;
49
+ return null;
50
+ }
41
51
  }
52
+ blocked = false;
42
53
  poll() {
43
54
  [this.previous, this.current] = [this.current, this.previous];
44
55
  this.current.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../src/gamepad.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gamepad.js","sourceRoot":"","sources":["../src/gamepad.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@debuffjp/input",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "description": "Action-based keyboard, pointer and gamepad input for debuff",
5
5
  "keywords": [
6
6
  "game",