Socket
Socket
Sign inDemoInstall

contro

Package Overview
Dependencies
Maintainers
1
Versions
16
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

contro - npm Package Compare versions

Comparing version 1.0.3 to 1.1.0

2

dist/contro.esm.js

@@ -154,2 +154,2 @@ /** Representation of a two-dimensional vector. */

export { Mouse, Keyboard, Gamepad };
export { Mouse, MouseButton, Keyboard, Gamepad };

@@ -15,3 +15,2 @@ (function (global, factory) {

var MouseButton;
(function (MouseButton) {

@@ -21,3 +20,3 @@ MouseButton[MouseButton["Left"] = 0] = "Left";

MouseButton[MouseButton["Right"] = 2] = "Right";
})(MouseButton || (MouseButton = {}));
})(exports.MouseButton || (exports.MouseButton = {}));
/** Representation of the player's mouse. */

@@ -53,7 +52,7 @@ class Mouse {

/** Returns whether the passed in button is currently pressed. */
isPressed(button = MouseButton.Left) {
isPressed(button = exports.MouseButton.Left) {
return this.pressedButtons.has(button);
}
/** Returns whether the passed in mouse button was pressed. */
wasPressed(button = MouseButton.Left) {
wasPressed(button = exports.MouseButton.Left) {
if (this.queuedButtons.has(button)) {

@@ -60,0 +59,0 @@ this.queuedButtons.delete(button);

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

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.Contro={})}(this,function(e){"use strict";class t{constructor(e=0,t=0){this.x=e,this.y=t}}var s;!function(e){e[e.Left=0]="Left",e[e.Middle=1]="Middle",e[e.Right=2]="Right"}(s||(s={}));e.Mouse=class{constructor({canvas:e,doc:s=document}){this.pointerLocked=!1,this.pointerMovement=new t,this.pressedButtons=new Set,this.queuedButtons=new Set,this.scrollDistance=0,this.canvas=e,this.document=s;let n=this.canvas.addEventListener.bind(this.canvas);n("mousedown",e=>{this.pressedButtons.add(e.button),this.queuedButtons.add(e.button)}),n("mouseup",e=>{this.pressedButtons.delete(e.button),this.queuedButtons.delete(e.button)}),n("mousemove",e=>{this.pointerMovement.x+=e.movementX,this.pointerMovement.y+=e.movementY}),n("wheel",e=>{const t=e.deltaY;this.scrollDistance+=t}),n=this.document.addEventListener.bind(this.document)}isPressed(e=s.Left){return this.pressedButtons.has(e)}wasPressed(e=s.Left){return!!this.queuedButtons.has(e)&&(this.queuedButtons.delete(e),!0)}getPointerMovement(){const e=this.pointerMovement;return this.pointerMovement=new t(0,0),e}getScrollDistance(){const e=this.scrollDistance;return this.scrollDistance=0,e}lockPointer(){this.canvas.requestPointerLock()}unlockPointer(){this.document.exitPointerLock()}isPointerLocked(){return this.document.pointerLockElement===this.canvas}},e.Keyboard=class{constructor({doc:e=document}={}){this.pressedKeys=new Set,this.queuedKeys=new Set,this.document=e,this.document.addEventListener("keydown",e=>{const t=e.key.toLowerCase();this.pressedKeys.add(t),this.queuedKeys.add(t)}),this.document.addEventListener("keyup",e=>{const t=e.key.toLowerCase();this.pressedKeys.delete(t),this.queuedKeys.delete(t)})}isPressed(e){return e=e.toLowerCase(),this.pressedKeys.has(e)}wasPressed(e){return e=e.toLowerCase(),!!this.queuedKeys.has(e)&&(this.queuedKeys.delete(e),!0)}},e.Gamepad=class{constructor({win:e=window,nav:t=navigator}={}){this.pressedButtons=new Set,this.window=e,this.navigator=t,this.window.addEventListener("gamepadconnected",({gamepad:e})=>{this.isConnected()||(this.gamepadIndex=e.index)}),this.window.addEventListener("gamepaddisconnected",({gamepad:e})=>{this.gamepadIndex=void 0})}isConnected(){return void 0!==this.gamepadIndex&&this.gamepad.connected}get gamepad(){return this.navigator.getGamepads()[this.gamepadIndex]}isPressed(e){return this.isConnected()&&this.gamepad.buttons[e].pressed}wasPressed(e){if(this.isConnected())if(this.gamepad.buttons[e].pressed){if(!this.pressedButtons.has(e))return this.pressedButtons.add(e),!0}else this.pressedButtons.delete(e);return!1}},Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.Contro={})}(this,function(e){"use strict";class t{constructor(e=0,t=0){this.x=e,this.y=t}}!function(e){e[e.Left=0]="Left",e[e.Middle=1]="Middle",e[e.Right=2]="Right"}(e.MouseButton||(e.MouseButton={}));e.Mouse=class{constructor({canvas:e,doc:s=document}){this.pointerLocked=!1,this.pointerMovement=new t,this.pressedButtons=new Set,this.queuedButtons=new Set,this.scrollDistance=0,this.canvas=e,this.document=s;let n=this.canvas.addEventListener.bind(this.canvas);n("mousedown",e=>{this.pressedButtons.add(e.button),this.queuedButtons.add(e.button)}),n("mouseup",e=>{this.pressedButtons.delete(e.button),this.queuedButtons.delete(e.button)}),n("mousemove",e=>{this.pointerMovement.x+=e.movementX,this.pointerMovement.y+=e.movementY}),n("wheel",e=>{const t=e.deltaY;this.scrollDistance+=t}),n=this.document.addEventListener.bind(this.document)}isPressed(t=e.MouseButton.Left){return this.pressedButtons.has(t)}wasPressed(t=e.MouseButton.Left){return!!this.queuedButtons.has(t)&&(this.queuedButtons.delete(t),!0)}getPointerMovement(){const e=this.pointerMovement;return this.pointerMovement=new t(0,0),e}getScrollDistance(){const e=this.scrollDistance;return this.scrollDistance=0,e}lockPointer(){this.canvas.requestPointerLock()}unlockPointer(){this.document.exitPointerLock()}isPointerLocked(){return this.document.pointerLockElement===this.canvas}},e.Keyboard=class{constructor({doc:e=document}={}){this.pressedKeys=new Set,this.queuedKeys=new Set,this.document=e,this.document.addEventListener("keydown",e=>{const t=e.key.toLowerCase();this.pressedKeys.add(t),this.queuedKeys.add(t)}),this.document.addEventListener("keyup",e=>{const t=e.key.toLowerCase();this.pressedKeys.delete(t),this.queuedKeys.delete(t)})}isPressed(e){return e=e.toLowerCase(),this.pressedKeys.has(e)}wasPressed(e){return e=e.toLowerCase(),!!this.queuedKeys.has(e)&&(this.queuedKeys.delete(e),!0)}},e.Gamepad=class{constructor({win:e=window,nav:t=navigator}={}){this.pressedButtons=new Set,this.window=e,this.navigator=t,this.window.addEventListener("gamepadconnected",({gamepad:e})=>{this.isConnected()||(this.gamepadIndex=e.index)}),this.window.addEventListener("gamepaddisconnected",({gamepad:e})=>{this.gamepadIndex=void 0})}isConnected(){return void 0!==this.gamepadIndex&&this.gamepad.connected}get gamepad(){return this.navigator.getGamepads()[this.gamepadIndex]}isPressed(e){return this.isConnected()&&this.gamepad.buttons[e].pressed}wasPressed(e){if(this.isConnected())if(this.gamepad.buttons[e].pressed){if(!this.pressedButtons.has(e))return this.pressedButtons.add(e),!0}else this.pressedButtons.delete(e);return!1}},Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "contro",
"version": "1.0.3",
"version": "1.1.0",
"description": "Game controls done right.",

@@ -5,0 +5,0 @@ "main": "dist/contro.esm.js",

@@ -93,3 +93,3 @@ <h1 align="center">

> *More documentation coming soon.*
> Learn more on the [API Documentation](/docs/API.md).

@@ -96,0 +96,0 @@ [build-link]: https://travis-ci.org/shroudedcode/contro

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