device.js 736 B

1234567891011121314151617181920212223242526272829303132
  1. function _define_property(obj, key, value) {
  2. if (key in obj) {
  3. Object.defineProperty(obj, key, {
  4. value: value,
  5. enumerable: true,
  6. configurable: true,
  7. writable: true
  8. });
  9. } else {
  10. obj[key] = value;
  11. }
  12. return obj;
  13. }
  14. class Device {
  15. get countPressed() {
  16. return this.pressedKeys.size;
  17. }
  18. isPressed(keyDef) {
  19. return this.pressedKeys.has(keyDef.name);
  20. }
  21. addPressed(keyDef) {
  22. return this.pressedKeys.add(keyDef.name);
  23. }
  24. removePressed(keyDef) {
  25. return this.pressedKeys.delete(keyDef.name);
  26. }
  27. constructor(){
  28. _define_property(this, "pressedKeys", new Set());
  29. }
  30. }
  31. export { Device };