Fixed linting errors and removed namespaces

This commit is contained in:
Nathan Kellenicki 2020-01-08 15:10:54 -08:00
parent afa7c74f82
commit 875293a742
25 changed files with 415 additions and 464 deletions

355
package-lock.json generated
View File

@ -68,15 +68,15 @@
"dev": true
},
"@types/node": {
"version": "12.12.7",
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.7.tgz",
"integrity": "sha512-E6Zn0rffhgd130zbCbAr/JdXfXkoOUFAKNs/rF8qnafSJ8KYaA/j3oz7dcwal+lYjLA7xvdd5J4wdYpCTlP8+w==",
"version": "13.1.5",
"resolved": "https://registry.npmjs.org/@types/node/-/node-13.1.5.tgz",
"integrity": "sha512-wupvfmtbqRJzjCm1H2diy7wo31Gn1OzvqoxCfQuKM9eSecogzP0WTlrjdq7cf7jgSO2ZX6hxwgRPR8Wt7FA22g==",
"dev": true
},
"@types/web-bluetooth": {
"version": "0.0.4",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.4.tgz",
"integrity": "sha512-C+BgVBBGY9c6ixcc5PsKAmGaCy3bswZ5zx/AWIAik9dgFuBkFsXBA3ze69jJi05xdZQ99QkfBSVIX6zl+6Tmww==",
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.5.tgz",
"integrity": "sha512-gaSAxNePCVJUR1a+4jKMaukjEzE4XuJd9fzSx/mAy6BrVoJXnACmfaBkaXU/K0frxJVfHvMDJx96hbNt4NXd9Q==",
"dev": true
},
"@webassemblyjs/ast": {
@ -274,9 +274,9 @@
"optional": true
},
"acorn": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.3.0.tgz",
"integrity": "sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA==",
"version": "6.4.0",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.0.tgz",
"integrity": "sha512-gac8OEcQ2Li1dxIEWGZzsp2BitJxwkwcOm0zHAJLcPJaVvm58FRnk6RkuLRpU1EujipU2ZFODv2P9DLMfnV8mw==",
"dev": true
},
"ajv": {
@ -305,7 +305,7 @@
},
"ansi-escape-sequences": {
"version": "4.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/ansi-escape-sequences/_attachments/ansi-escape-sequences-4.1.0.tgz",
"resolved": "https://registry.npmjs.org/ansi-escape-sequences/-/ansi-escape-sequences-4.1.0.tgz",
"integrity": "sha512-dzW9kHxH011uBsidTXd14JXgzye/YLb2LzeKZ4bsgl/Knwx8AtbSFkkGxagdNOoh0DlqHCmfiEjWKBaqjOanVw==",
"dev": true,
"requires": {
@ -502,9 +502,9 @@
"dev": true
},
"array-back": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.0.tgz",
"integrity": "sha512-ylVYjv5BzoWXWO7e6fWrzjqzgxmUPWdQrHxgzo/v1EaYXfw6+6ipRdIr7KryAGnVHG08O1Yfpchuv0+YhjPL+Q==",
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.1.tgz",
"integrity": "sha512-Z/JnaVEXv+A9xabHzN43FiiiWEE7gPCRXMrVmRm00tWbjZRul1iHm7ECzlyNq1p4a4ATXz+G9FJ3GqGOkOV3fg==",
"dev": true
},
"array-uniq": {
@ -889,25 +889,14 @@
}
},
"cache-point": {
"version": "0.4.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/cache-point/_attachments/cache-point-0.4.1.tgz",
"integrity": "sha512-4TgWfe9SF+bUy5cCql8gWHqKNrviufNwSYxLjf2utB0pY4+bdcuFwMmY1hDB+67Gz/L1vmhFNhePAjJTFBtV+Q==",
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/cache-point/-/cache-point-1.0.0.tgz",
"integrity": "sha512-ZqrZp9Hi5Uq7vfSGmNP2bUT/9DzZC2Y/GXjHB8rUJN1a+KLmbV05+vxHipNsg8+CSVgjcVVzLV8VZms6w8ZeRw==",
"dev": true,
"requires": {
"array-back": "^2.0.0",
"array-back": "^4.0.0",
"fs-then-native": "^2.0.0",
"mkdirp2": "^1.0.3"
},
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
"typical": "^2.6.1"
}
}
"mkdirp2": "^1.0.4"
}
},
"camelcase": {
@ -1125,7 +1114,7 @@
},
"collect-all": {
"version": "1.0.3",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/collect-all/_attachments/collect-all-1.0.3.tgz",
"resolved": "https://registry.npmjs.org/collect-all/-/collect-all-1.0.3.tgz",
"integrity": "sha512-0y0rBgoX8IzIjBAUnO73SEtSb4Mhk3IoceWJq5zZSxb9mWORhWH8xLYo4EDSOE1jRBk1LhmfjqWFFt10h/+MEA==",
"dev": true,
"requires": {
@ -1160,7 +1149,7 @@
},
"command-line-args": {
"version": "5.1.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/command-line-args/_attachments/command-line-args-5.1.1.tgz",
"resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz",
"integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==",
"dev": true,
"requires": {
@ -1178,7 +1167,7 @@
},
"typical": {
"version": "4.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/typical/_attachments/typical-4.0.0.tgz",
"resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz",
"integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==",
"dev": true
}
@ -1186,7 +1175,7 @@
},
"command-line-tool": {
"version": "0.8.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/command-line-tool/_attachments/command-line-tool-0.8.0.tgz",
"resolved": "https://registry.npmjs.org/command-line-tool/-/command-line-tool-0.8.0.tgz",
"integrity": "sha512-Xw18HVx/QzQV3Sc5k1vy3kgtOeGmsKIqwtFFoyjI4bbcpSgnw2CWVULvtakyw4s6fhyAdI6soQQhXc2OzJy62g==",
"dev": true,
"requires": {
@ -1199,7 +1188,7 @@
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
@ -1210,7 +1199,7 @@
},
"command-line-usage": {
"version": "4.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/command-line-usage/_attachments/command-line-usage-4.1.0.tgz",
"resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-4.1.0.tgz",
"integrity": "sha512-MxS8Ad995KpdAC0Jopo/ovGIroV/m0KHwzKfXxKag6FHOkGsH8/lv5yjgablcRxCJJC0oJeUMuO/gmaq+Wq46g==",
"dev": true,
"requires": {
@ -1222,7 +1211,7 @@
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
@ -1238,9 +1227,9 @@
"dev": true
},
"common-sequence": {
"version": "1.0.2",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/common-sequence/_attachments/common-sequence-1.0.2.tgz",
"integrity": "sha1-MOB/P49vf5s97oVPILLTnu4Ibeg=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/common-sequence/-/common-sequence-2.0.0.tgz",
"integrity": "sha512-f0QqPLpRTgMQn/pQIynf+SdE73Lw5Q1jn4hjirHLgH/NJ71TiHjXusV16BmOyuK5rRQ1W2f++II+TFZbQOh4hA==",
"dev": true
},
"commondir": {
@ -1279,7 +1268,7 @@
},
"config-master": {
"version": "3.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/c/config-master/_attachments/config-master-3.1.0.tgz",
"resolved": "https://registry.npmjs.org/config-master/-/config-master-3.1.0.tgz",
"integrity": "sha1-ZnZjWQUFooO/JqSE1oSJ10xUhdo=",
"dev": true,
"requires": {
@ -1288,7 +1277,7 @@
"dependencies": {
"walk-back": {
"version": "2.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/w/walk-back/_attachments/walk-back-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-2.0.1.tgz",
"integrity": "sha1-VU4qnYdPrEeoywBr9EwvDEmYoKQ=",
"dev": true
}
@ -1494,9 +1483,9 @@
"optional": true
},
"des.js": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz",
"integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=",
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
"integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
"dev": true,
"requires": {
"inherits": "^2.0.1",
@ -1533,29 +1522,29 @@
}
},
"dmd": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.4.tgz",
"integrity": "sha512-ZbHUPKUp5Tl8nVVMZw8rc/MQmFVKusvfR10X/lPAXjBUc/LRW7AaXnYrK2LnVIPfTGEw7T6OmsxkvNRX7GnjIQ==",
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/dmd/-/dmd-4.0.6.tgz",
"integrity": "sha512-7ZYAnFQ6jGm4SICArwqNPylJ83PaOdPTAkds3Z/s1ueFqSc5ilJ2F0b7uP+35W1PUbemH++gn5/VlC3KwEgiHQ==",
"dev": true,
"requires": {
"array-back": "^4.0.0",
"cache-point": "^0.4.1",
"common-sequence": "^1.0.2",
"file-set": "^2.0.1",
"handlebars": "^4.2.0",
"array-back": "^4.0.1",
"cache-point": "^1.0.0",
"common-sequence": "^2.0.0",
"file-set": "^3.0.0",
"handlebars": "^4.5.3",
"marked": "^0.7.0",
"object-get": "^2.1.0",
"reduce-flatten": "^2.0.0",
"reduce-flatten": "^3.0.0",
"reduce-unique": "^2.0.1",
"reduce-without": "^1.0.1",
"test-value": "^3.0.0",
"walk-back": "^3.0.1"
"walk-back": "^4.0.0"
},
"dependencies": {
"reduce-flatten": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/r/reduce-flatten/_attachments/reduce-flatten-2.0.0.tgz",
"integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-3.0.0.tgz",
"integrity": "sha512-eczl8wAYBxJ6Egl6I1ECIF+8z6sHu+KE7BzaEDZTpPXKXfy9SUDQlVYwkRcNTjJLC3Iakxbhss50KuT/R6SYfg==",
"dev": true
}
}
@ -1614,9 +1603,9 @@
}
},
"elliptic": {
"version": "6.5.1",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.1.tgz",
"integrity": "sha512-xvJINNLbTeWQjrl6X+7eQCrIy/YPv5XCpKW6kB5mKvtnGILoLDcySuwomfdzt0BMdLNVnuRNTuzKNHj0bva1Cg==",
"version": "6.5.2",
"resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
"integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
"dev": true,
"requires": {
"bn.js": "^4.4.0",
@ -1718,9 +1707,9 @@
"dev": true
},
"events": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.0.0.tgz",
"integrity": "sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA==",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz",
"integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==",
"dev": true
},
"evp_bytestokey": {
@ -1906,9 +1895,9 @@
"dev": true
},
"fast-json-stable-stringify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
"integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
"integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
"dev": true
},
"figgy-pudding": {
@ -1918,22 +1907,27 @@
"dev": true
},
"file-set": {
"version": "2.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/f/file-set/_attachments/file-set-2.0.1.tgz",
"integrity": "sha512-XgOUUpgR6FbbfYcniLw0qm1Am7PnNYIAkd+eXxRt42LiYhjaso0WiuQ+VmrNdtwotyM+cLCfZ56AZrySP3QnKA==",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/file-set/-/file-set-3.0.0.tgz",
"integrity": "sha512-B/SdeSIeRv7VlOgIjtH3dkxMI+tEy5m+OeCXfAUsirBoVoY+bGtsmvmmTFPm/G23TBY4RiTtjpcgePCfwXRjqA==",
"dev": true,
"requires": {
"array-back": "^2.0.0",
"glob": "^7.1.3"
"array-back": "^4.0.0",
"glob": "^7.1.5"
},
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"glob": {
"version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": {
"typical": "^2.6.1"
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^3.0.4",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
}
}
}
@ -1966,7 +1960,7 @@
},
"find-replace": {
"version": "3.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/f/find-replace/_attachments/find-replace-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz",
"integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==",
"dev": true,
"requires": {
@ -2159,7 +2153,7 @@
},
"fs-then-native": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/f/fs-then-native/_attachments/fs-then-native-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/fs-then-native/-/fs-then-native-2.0.0.tgz",
"integrity": "sha1-GaEk2U2QwiyOBF8ujdbr6jbUjGc=",
"dev": true
},
@ -2181,14 +2175,15 @@
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
},
"fsevents": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.9.tgz",
"integrity": "sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw==",
"version": "1.2.11",
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.11.tgz",
"integrity": "sha512-+ux3lx6peh0BpvY0JebGyZoiR4D+oYzdPZMKJwkZ+sFkNJzpL7tXc/wehS49gUAxg3tmMHPHZkA8JU2rhhgDHw==",
"dev": true,
"optional": true,
"requires": {
"bindings": "^1.5.0",
"nan": "^2.12.1",
"node-pre-gyp": "^0.12.0"
"node-pre-gyp": "*"
},
"dependencies": {
"abbrev": {
@ -2236,7 +2231,7 @@
}
},
"chownr": {
"version": "1.1.1",
"version": "1.1.3",
"bundled": true,
"dev": true,
"optional": true
@ -2266,7 +2261,7 @@
"optional": true
},
"debug": {
"version": "4.1.1",
"version": "3.2.6",
"bundled": true,
"dev": true,
"optional": true,
@ -2293,12 +2288,12 @@
"optional": true
},
"fs-minipass": {
"version": "1.2.5",
"version": "1.2.7",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minipass": "^2.2.1"
"minipass": "^2.6.0"
}
},
"fs.realpath": {
@ -2324,7 +2319,7 @@
}
},
"glob": {
"version": "7.1.3",
"version": "7.1.6",
"bundled": true,
"dev": true,
"optional": true,
@ -2353,7 +2348,7 @@
}
},
"ignore-walk": {
"version": "3.0.1",
"version": "3.0.3",
"bundled": true,
"dev": true,
"optional": true,
@ -2372,7 +2367,7 @@
}
},
"inherits": {
"version": "2.0.3",
"version": "2.0.4",
"bundled": true,
"dev": true,
"optional": true
@ -2414,7 +2409,7 @@
"optional": true
},
"minipass": {
"version": "2.3.5",
"version": "2.9.0",
"bundled": true,
"dev": true,
"optional": true,
@ -2424,12 +2419,12 @@
}
},
"minizlib": {
"version": "1.2.1",
"version": "1.3.3",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"minipass": "^2.2.1"
"minipass": "^2.9.0"
}
},
"mkdirp": {
@ -2442,24 +2437,24 @@
}
},
"ms": {
"version": "2.1.1",
"version": "2.1.2",
"bundled": true,
"dev": true,
"optional": true
},
"needle": {
"version": "2.3.0",
"version": "2.4.0",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"debug": "^4.1.0",
"debug": "^3.2.6",
"iconv-lite": "^0.4.4",
"sax": "^1.2.4"
}
},
"node-pre-gyp": {
"version": "0.12.0",
"version": "0.14.0",
"bundled": true,
"dev": true,
"optional": true,
@ -2473,7 +2468,7 @@
"rc": "^1.2.7",
"rimraf": "^2.6.1",
"semver": "^5.3.0",
"tar": "^4"
"tar": "^4.4.2"
}
},
"nopt": {
@ -2487,13 +2482,22 @@
}
},
"npm-bundled": {
"version": "1.0.6",
"version": "1.1.1",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"npm-normalize-package-bin": "^1.0.1"
}
},
"npm-normalize-package-bin": {
"version": "1.0.1",
"bundled": true,
"dev": true,
"optional": true
},
"npm-packlist": {
"version": "1.4.1",
"version": "1.4.7",
"bundled": true,
"dev": true,
"optional": true,
@ -2564,7 +2568,7 @@
"optional": true
},
"process-nextick-args": {
"version": "2.0.0",
"version": "2.0.1",
"bundled": true,
"dev": true,
"optional": true
@ -2605,7 +2609,7 @@
}
},
"rimraf": {
"version": "2.6.3",
"version": "2.7.1",
"bundled": true,
"dev": true,
"optional": true,
@ -2632,7 +2636,7 @@
"optional": true
},
"semver": {
"version": "5.7.0",
"version": "5.7.1",
"bundled": true,
"dev": true,
"optional": true
@ -2685,18 +2689,18 @@
"optional": true
},
"tar": {
"version": "4.4.8",
"version": "4.4.13",
"bundled": true,
"dev": true,
"optional": true,
"requires": {
"chownr": "^1.1.1",
"fs-minipass": "^1.2.5",
"minipass": "^2.3.4",
"minizlib": "^1.1.1",
"minipass": "^2.8.6",
"minizlib": "^1.2.1",
"mkdirp": "^0.5.0",
"safe-buffer": "^5.1.2",
"yallist": "^3.0.2"
"yallist": "^3.0.3"
}
},
"util-deprecate": {
@ -2721,7 +2725,7 @@
"optional": true
},
"yallist": {
"version": "3.0.3",
"version": "3.1.1",
"bundled": true,
"dev": true,
"optional": true
@ -3304,13 +3308,13 @@
}
},
"jsdoc-api": {
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-5.0.3.tgz",
"integrity": "sha512-7F/FR1DCRmRFlyuccpeRwW/4H5GtUD9detREDO/gxLjyEaVfRdD1JDzwZ4tMg32f0jP97PCDTy9CdSr8mW0txQ==",
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/jsdoc-api/-/jsdoc-api-5.0.4.tgz",
"integrity": "sha512-1KMwLnfo0FyhF06TQKzqIm8BiY1yoMIGICxRdJHUjzskaHMzHMmpLlmNFgzoa4pAC8t1CDPK5jWuQTvv1pBsEQ==",
"dev": true,
"requires": {
"array-back": "^4.0.0",
"cache-point": "^0.4.1",
"cache-point": "^1.0.0",
"collect-all": "^1.0.3",
"file-set": "^2.0.1",
"fs-then-native": "^2.0.0",
@ -3318,6 +3322,35 @@
"object-to-spawn-args": "^1.1.1",
"temp-path": "^1.0.0",
"walk-back": "^3.0.1"
},
"dependencies": {
"file-set": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/file-set/-/file-set-2.0.1.tgz",
"integrity": "sha512-XgOUUpgR6FbbfYcniLw0qm1Am7PnNYIAkd+eXxRt42LiYhjaso0WiuQ+VmrNdtwotyM+cLCfZ56AZrySP3QnKA==",
"dev": true,
"requires": {
"array-back": "^2.0.0",
"glob": "^7.1.3"
},
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
"typical": "^2.6.1"
}
}
}
},
"walk-back": {
"version": "3.0.1",
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-3.0.1.tgz",
"integrity": "sha512-umiNB2qLO731Sxbp6cfZ9pwURJzTnftxE4Gc7hq8n/ehkuXC//s9F65IEIJA2ZytQZ1ZOsm/Fju4IWx0bivkUQ==",
"dev": true
}
}
},
"jsdoc-parse": {
@ -3335,18 +3368,18 @@
}
},
"jsdoc-to-markdown": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-5.0.2.tgz",
"integrity": "sha512-Rcs9/3+NO1odClVhLDk0lDNFe11RiYUHh/PnROT5QU2Fpad2zBESmJD+DcmeK7lg1jalFfGG1MKOGuJHs27jsA==",
"version": "5.0.3",
"resolved": "https://registry.npmjs.org/jsdoc-to-markdown/-/jsdoc-to-markdown-5.0.3.tgz",
"integrity": "sha512-tQv5tBV0fTYidRQtE60lJKxE98mmuLcYuITFDKQiDPE9hGccpeEGUNFcVkInq1vigyuPnZmt79bQ8wv2GKjY0Q==",
"dev": true,
"requires": {
"array-back": "^4.0.0",
"array-back": "^4.0.1",
"command-line-tool": "^0.8.0",
"config-master": "^3.1.0",
"dmd": "^4.0.4",
"jsdoc-api": "^5.0.3",
"dmd": "^4.0.5",
"jsdoc-api": "^5.0.4",
"jsdoc-parse": "^4.0.1",
"walk-back": "^3.0.1"
"walk-back": "^4.0.0"
}
},
"json-parse-better-errors": {
@ -3446,7 +3479,7 @@
},
"lodash.camelcase": {
"version": "4.3.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/l/lodash.camelcase/_attachments/lodash.camelcase-4.3.0.tgz",
"resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz",
"integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=",
"dev": true
},
@ -3482,19 +3515,19 @@
},
"lodash.omit": {
"version": "4.5.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/l/lodash.omit/_attachments/lodash.omit-4.5.0.tgz",
"resolved": "https://registry.npmjs.org/lodash.omit/-/lodash.omit-4.5.0.tgz",
"integrity": "sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA=",
"dev": true
},
"lodash.padend": {
"version": "4.6.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/l/lodash.padend/_attachments/lodash.padend-4.6.1.tgz",
"resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz",
"integrity": "sha1-U8y6BH0G4VjTEfRdpiX05J5vFm4=",
"dev": true
},
"lodash.pick": {
"version": "4.4.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/l/lodash.pick/_attachments/lodash.pick-4.4.0.tgz",
"resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz",
"integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=",
"dev": true
},
@ -3735,7 +3768,7 @@
},
"mkdirp2": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/m/mkdirp2/_attachments/mkdirp2-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/mkdirp2/-/mkdirp2-1.0.4.tgz",
"integrity": "sha512-Q2PKB4ZR4UPtjLl76JfzlgSCUZhSV1AXQgAZa1qt5RiaALFjP/CDrGvFBrOz7Ck6McPcwMAxTsJvWOUjOU8XMw==",
"dev": true
},
@ -4007,13 +4040,13 @@
},
"object-get": {
"version": "2.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/o/object-get/_attachments/object-get-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/object-get/-/object-get-2.1.0.tgz",
"integrity": "sha1-ciu9tgA576R8rTxtws5RqFwCxa4=",
"dev": true
},
"object-to-spawn-args": {
"version": "1.1.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/o/object-to-spawn-args/_attachments/object-to-spawn-args-1.1.1.tgz",
"resolved": "https://registry.npmjs.org/object-to-spawn-args/-/object-to-spawn-args-1.1.1.tgz",
"integrity": "sha1-d9qIJ/Bz0BHJ4bFz+JV4FHAkZ4U=",
"dev": true
},
@ -4563,7 +4596,7 @@
},
"reduce-extract": {
"version": "1.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/r/reduce-extract/_attachments/reduce-extract-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/reduce-extract/-/reduce-extract-1.0.0.tgz",
"integrity": "sha1-Z/I4W+2mUGG19fQxJmLosIDKFSU=",
"dev": true,
"requires": {
@ -4572,7 +4605,7 @@
"dependencies": {
"array-back": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
"integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
"dev": true,
"requires": {
@ -4581,7 +4614,7 @@
},
"test-value": {
"version": "1.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/test-value/_attachments/test-value-1.1.0.tgz",
"resolved": "https://registry.npmjs.org/test-value/-/test-value-1.1.0.tgz",
"integrity": "sha1-oJE29y7AQ9J8iTcHwrFZv6196T8=",
"dev": true,
"requires": {
@ -4593,19 +4626,19 @@
},
"reduce-flatten": {
"version": "1.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/r/reduce-flatten/_attachments/reduce-flatten-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-1.0.1.tgz",
"integrity": "sha1-JYx479FT3fk8tWEjf2EYTzaW4yc=",
"dev": true
},
"reduce-unique": {
"version": "2.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/r/reduce-unique/_attachments/reduce-unique-2.0.1.tgz",
"resolved": "https://registry.npmjs.org/reduce-unique/-/reduce-unique-2.0.1.tgz",
"integrity": "sha512-x4jH/8L1eyZGR785WY+ePtyMNhycl1N2XOLxhCbzZFaqF4AXjLzqSxa2UHgJ2ZVR/HHyPOvl1L7xRnW8ye5MdA==",
"dev": true
},
"reduce-without": {
"version": "1.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/r/reduce-without/_attachments/reduce-without-1.0.1.tgz",
"resolved": "https://registry.npmjs.org/reduce-without/-/reduce-without-1.0.1.tgz",
"integrity": "sha1-aK0OrRGFXJo31OglbBW7+Hly/Iw=",
"dev": true,
"requires": {
@ -4614,7 +4647,7 @@
"dependencies": {
"array-back": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
"integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
"dev": true,
"requires": {
@ -4623,7 +4656,7 @@
},
"test-value": {
"version": "2.1.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/test-value/_attachments/test-value-2.1.0.tgz",
"resolved": "https://registry.npmjs.org/test-value/-/test-value-2.1.0.tgz",
"integrity": "sha1-Edpv9nDzRxpztiXKTz/c97t0gpE=",
"dev": true,
"requires": {
@ -5045,7 +5078,7 @@
},
"sort-array": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/s/sort-array/_attachments/sort-array-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/sort-array/-/sort-array-2.0.0.tgz",
"integrity": "sha1-OKnG2if9fRR7QuYFVPKBGHtN9HI=",
"dev": true,
"requires": {
@ -5056,7 +5089,7 @@
"dependencies": {
"array-back": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
"integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
"dev": true,
"requires": {
@ -5173,7 +5206,7 @@
},
"stream-connect": {
"version": "1.0.2",
"resolved": "https://npm-registry.rancher.sie.sony.com/s/stream-connect/_attachments/stream-connect-1.0.2.tgz",
"resolved": "https://registry.npmjs.org/stream-connect/-/stream-connect-1.0.2.tgz",
"integrity": "sha1-GLyB8u2zW4tdmoAJIAqYUxRCipc=",
"dev": true,
"requires": {
@ -5182,7 +5215,7 @@
"dependencies": {
"array-back": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-1.0.4.tgz",
"integrity": "sha1-ZEun8JX3/898Q7Xw3DnTwfA8Bjs=",
"dev": true,
"requires": {
@ -5222,7 +5255,7 @@
},
"stream-via": {
"version": "1.0.4",
"resolved": "https://npm-registry.rancher.sie.sony.com/s/stream-via/_attachments/stream-via-1.0.4.tgz",
"resolved": "https://registry.npmjs.org/stream-via/-/stream-via-1.0.4.tgz",
"integrity": "sha512-DBp0lSvX5G9KGRDTkR/R+a29H+Wk2xItOF+MpZLLNDWbEV9tGPnqLPxHEYjmiz8xGtJHRIqmI+hCjmNzqoA4nQ==",
"dev": true
},
@ -5277,7 +5310,7 @@
},
"table-layout": {
"version": "0.4.5",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/table-layout/_attachments/table-layout-0.4.5.tgz",
"resolved": "https://registry.npmjs.org/table-layout/-/table-layout-0.4.5.tgz",
"integrity": "sha512-zTvf0mcggrGeTe/2jJ6ECkJHAQPIYEwDoqsiqBjI24mvRmQbInK5jq33fyypaCBxX08hMkfmdOqj6haT33EqWw==",
"dev": true,
"requires": {
@ -5290,7 +5323,7 @@
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
@ -5366,14 +5399,14 @@
},
"temp-path": {
"version": "1.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/temp-path/_attachments/temp-path-1.0.0.tgz",
"resolved": "https://registry.npmjs.org/temp-path/-/temp-path-1.0.0.tgz",
"integrity": "sha1-JLFUOXOrRCiW2a02fdnL2/r+kYs=",
"dev": true
},
"terser": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.4.3.tgz",
"integrity": "sha512-0ikKraVtRDKGzHrzkCv5rUNDzqlhmhowOBqC0XqUHFpW+vJ45+20/IFBcebwKfiS2Z9fJin6Eo+F1zLZsxi8RA==",
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/terser/-/terser-4.6.2.tgz",
"integrity": "sha512-6FUjJdY2i3WZAtYBtnV06OOcOfzl+4hSKYE9wgac8rkLRBToPDDrBB2AcHwQD/OKDxbnvhVy2YgOPWO2SsKWqg==",
"dev": true,
"requires": {
"commander": "^2.20.0",
@ -5400,7 +5433,7 @@
},
"test-value": {
"version": "3.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/test-value/_attachments/test-value-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/test-value/-/test-value-3.0.0.tgz",
"integrity": "sha512-sVACdAWcZkSU9x7AOmJo5TqE+GyNJknHaHsMrR6ZnhjVlVN9Yx6FjHrsKZ3BjIpPCT68zYesPWkakrNupwfOTQ==",
"dev": true,
"requires": {
@ -5410,7 +5443,7 @@
"dependencies": {
"array-back": {
"version": "2.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/a/array-back/_attachments/array-back-2.0.0.tgz",
"resolved": "https://registry.npmjs.org/array-back/-/array-back-2.0.0.tgz",
"integrity": "sha512-eJv4pLLufP3g5kcZry0j6WXpIbzYw9GUB4mVJZno9wfwiBxbizTnHCw3VJb07cBihbFX48Y7oSrW9y+gt4glyw==",
"dev": true,
"requires": {
@ -5564,14 +5597,14 @@
"dev": true
},
"typescript": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz",
"integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==",
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.4.tgz",
"integrity": "sha512-A25xv5XCtarLwXpcDNZzCGvW2D1S3/bACratYBx2sax8PefsFhlYmkQicKHvpYflFS8if4zne5zT5kpJ7pzuvw==",
"dev": true
},
"typical": {
"version": "2.6.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/t/typical/_attachments/typical-2.6.1.tgz",
"resolved": "https://registry.npmjs.org/typical/-/typical-2.6.1.tgz",
"integrity": "sha1-XAgOXWYcu+OCWdLnCjxyU+hziB0=",
"dev": true
},
@ -5582,9 +5615,9 @@
"dev": true
},
"uglify-js": {
"version": "3.7.1",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.1.tgz",
"integrity": "sha512-pnOF7jY82wdIhATVn87uUY/FHU+MDUdPLkmGFvGoclQmeu229eTkbG5gjGGBi3R7UuYYSEeYXY/TTY5j2aym2g==",
"version": "3.7.4",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.7.4.tgz",
"integrity": "sha512-tinYWE8X1QfCHxS1lBS8yiDekyhSXOO6R66yNOCdUJeojxxw+PX2BHAz/BWyW7PQ7pkiWVxJfIEbiDxyLWvUGg==",
"dev": true,
"optional": true,
"requires": {
@ -5751,9 +5784,9 @@
"dev": true
},
"walk-back": {
"version": "3.0.1",
"resolved": "https://npm-registry.rancher.sie.sony.com/w/walk-back/_attachments/walk-back-3.0.1.tgz",
"integrity": "sha512-umiNB2qLO731Sxbp6cfZ9pwURJzTnftxE4Gc7hq8n/ehkuXC//s9F65IEIJA2ZytQZ1ZOsm/Fju4IWx0bivkUQ==",
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/walk-back/-/walk-back-4.0.0.tgz",
"integrity": "sha512-kudCA8PXVQfrqv2mFTG72vDBRi8BKWxGgFLwPpzHcpZnSwZk93WMwUDVcLHWNsnm+Y0AC4Vb6MUNRgaHfyV2DQ==",
"dev": true
},
"watchpack": {
@ -5768,9 +5801,9 @@
}
},
"webpack": {
"version": "4.41.2",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz",
"integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==",
"version": "4.41.5",
"resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.5.tgz",
"integrity": "sha512-wp0Co4vpyumnp3KlkmpM5LWuzvZYayDwM2n17EHFr4qxBBbRokC7DJawPJC7TfSFZ9HZ6GsdH40EBj4UV0nmpw==",
"dev": true,
"requires": {
"@webassemblyjs/ast": "1.8.5",
@ -5793,7 +5826,7 @@
"node-libs-browser": "^2.2.1",
"schema-utils": "^1.0.0",
"tapable": "^1.1.3",
"terser-webpack-plugin": "^1.4.1",
"terser-webpack-plugin": "^1.4.3",
"watchpack": "^1.6.0",
"webpack-sources": "^1.4.1"
},
@ -6012,7 +6045,7 @@
},
"wordwrapjs": {
"version": "3.0.0",
"resolved": "https://npm-registry.rancher.sie.sony.com/w/wordwrapjs/_attachments/wordwrapjs-3.0.0.tgz",
"resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-3.0.0.tgz",
"integrity": "sha512-mO8XtqyPvykVCsrwj5MlOVWvSnCdT+C+QVbm6blradR7JExAhbkZ7hZ9A+9NUtwzSqrlUo9a67ws0EiILrvRpw==",
"dev": true,
"requires": {

View File

@ -8,7 +8,7 @@
"scripts": {
"build:node": "tslint -c tslint.json \"./src/**/*.ts\" && tsc",
"build:browser": "tslint -c tslint.json \"./src/**/*.ts\" && webpack --mode=production",
"build:all": "tslint -c tslint.json \"./src/*.ts\" && tsc && webpack --mode=production",
"build:all": "tslint -c tslint.json \"./src/**/*.ts\" && tsc && webpack --mode=production",
"docs": "jsdoc -d docs -c jsdoc.conf.json -t ./node_modules/ink-docstrap/template -R README.md dist/node/consts.js dist/node/poweredup-node.js dist/node/lpf2hub.js dist/node/wedo2smarthub.js dist/node/boostmovehub.js dist/node/puphub.js dist/node/pupremote.js dist/node/duplotrainbase.js dist/node/controlplushub.js dist/node/hub.js dist/node/consts.js",
"all": "npm run build:all && npm run docs",
"prepublishOnly": "npm run build:node"
@ -22,15 +22,15 @@
},
"devDependencies": {
"@types/debug": "4.1.5",
"@types/node": "^12.12.7",
"@types/web-bluetooth": "0.0.4",
"@types/node": "^13.1.5",
"@types/web-bluetooth": "0.0.5",
"ink-docstrap": "^1.3.2",
"jsdoc": "^3.6.3",
"jsdoc-to-markdown": "^5.0.2",
"jsdoc-to-markdown": "^5.0.3",
"ts-loader": "^6.2.1",
"tslint": "^5.20.1",
"typescript": "^3.7.2",
"webpack": "^4.41.2",
"typescript": "^3.7.4",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10"
}
}

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class ColorDistanceSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, ColorDistanceSensor.ModeMap, Consts.DeviceType.COLOR_DISTANCE_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.COLOR_DISTANCE_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case ColorDistanceSensor.Mode.COLOR:
case Mode.COLOR:
if (message[this.isWeDo2SmartHub ? 2 : 4] <= 10) {
const color = message[this.isWeDo2SmartHub ? 2 : 4];
@ -27,7 +27,7 @@ export class ColorDistanceSensor extends Device {
}
break;
case ColorDistanceSensor.Mode.DISTANCE:
case Mode.DISTANCE:
if (this.isWeDo2SmartHub) {
break;
}
@ -43,7 +43,7 @@ export class ColorDistanceSensor extends Device {
}
break;
case ColorDistanceSensor.Mode.COLOR_AND_DISTANCE:
case Mode.COLOR_AND_DISTANCE:
if (this.isWeDo2SmartHub) {
break;
}
@ -74,8 +74,6 @@ export class ColorDistanceSensor extends Device {
}
export namespace ColorDistanceSensor {
export enum Mode {
COLOR = 0x00,
DISTANCE = 0x01,
@ -83,9 +81,7 @@ export namespace ColorDistanceSensor {
}
export const ModeMap: {[event: string]: number} = {
"color": ColorDistanceSensor.Mode.COLOR,
"distance": ColorDistanceSensor.Mode.DISTANCE,
"colorAndDistance": ColorDistanceSensor.Mode.COLOR_AND_DISTANCE
}
}
"color": Mode.COLOR,
"distance": Mode.DISTANCE,
"colorAndDistance": Mode.COLOR_AND_DISTANCE
};

View File

@ -7,25 +7,25 @@ import * as Consts from "../consts";
export class CurrentSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, CurrentSensor.ModeMap, Consts.DeviceType.CURRENT_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.CURRENT_SENSOR);
}
public receive (message: Buffer) {
const mode = this.mode;
switch (mode) {
case CurrentSensor.Mode.CURRENT:
case Mode.CURRENT:
if (this.isWeDo2SmartHub) {
const current = message.readInt16LE(2) / 1000;
this.emitGlobal("current", { current });
} else {
let maxCurrentValue = CurrentSensor.MaxCurrentValue[this.hub.type];
let maxCurrentValue = MaxCurrentValue[this.hub.type];
if (maxCurrentValue === undefined) {
maxCurrentValue = CurrentSensor.MaxCurrentValue[Consts.HubType.UNKNOWN];
maxCurrentValue = MaxCurrentValue[Consts.HubType.UNKNOWN];
}
let maxCurrentRaw = CurrentSensor.MaxCurrentRaw[this.hub.type];
let maxCurrentRaw = MaxCurrentRaw[this.hub.type];
if (maxCurrentRaw === undefined) {
maxCurrentRaw = CurrentSensor.MaxCurrentRaw[Consts.HubType.UNKNOWN];
maxCurrentRaw = MaxCurrentRaw[Consts.HubType.UNKNOWN];
}
const current = message.readUInt16LE(4) * maxCurrentValue / maxCurrentRaw;
/**
@ -41,23 +41,19 @@ export class CurrentSensor extends Device {
}
export namespace CurrentSensor {
export enum Mode {
CURRENT = 0x00
}
export const ModeMap: {[event: string]: number} = {
"current": CurrentSensor.Mode.CURRENT
}
"current": Mode.CURRENT
};
export const MaxCurrentValue: {[hubType: number]: number} = {
const MaxCurrentValue: {[hubType: number]: number} = {
[Consts.HubType.UNKNOWN]: 2444,
[Consts.HubType.TECHNIC_MEDIUM_HUB]: 4175,
}
};
export const MaxCurrentRaw: {[hubType: number]: number} = {
const MaxCurrentRaw: {[hubType: number]: number} = {
[Consts.HubType.UNKNOWN]: 4095,
}
}
};

View File

@ -48,7 +48,7 @@ export class Device extends EventEmitter {
}
};
for (let event in this._modeMap) {
for (const event in this._modeMap) {
if (this.hub.listenerCount(event) > 0) {
eventAttachListener(event);
}

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class DuploTrainBaseColorSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, DuploTrainBaseColorSensor.ModeMap, Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.DUPLO_TRAIN_BASE_COLOR_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case DuploTrainBaseColorSensor.Mode.COLOR:
case Mode.COLOR:
if (message[4] <= 10) {
const color = message[4];
@ -32,14 +32,10 @@ export class DuploTrainBaseColorSensor extends Device {
}
export namespace DuploTrainBaseColorSensor {
export enum Mode {
COLOR = 0x00
}
export const ModeMap: {[event: string]: number} = {
"color": DuploTrainBaseColorSensor.Mode.COLOR
}
}
"color": Mode.COLOR
};

View File

@ -20,7 +20,7 @@ export class DuploTrainBaseSpeaker extends Device {
*/
public playSound (sound: Consts.DuploTrainBaseSound) {
return new Promise((resolve, reject) => {
this.subscribe(DuploTrainBaseSpeaker.Mode.SOUND);
this.subscribe(Mode.SOUND);
this.writeDirect(0x01, Buffer.from([sound]));
return resolve();
});
@ -29,10 +29,6 @@ export class DuploTrainBaseSpeaker extends Device {
}
export namespace DuploTrainBaseSpeaker {
export enum Mode {
SOUND = 0x01
}
}

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class DuploTrainBaseSpeedometer extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, DuploTrainBaseSpeedometer.ModeMap, Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER);
super(hub, portId, ModeMap, Consts.DeviceType.DUPLO_TRAIN_BASE_SPEEDOMETER);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case DuploTrainBaseSpeedometer.Mode.SPEED:
case Mode.SPEED:
const speed = message.readInt16LE(4);
/**
@ -30,14 +30,10 @@ export class DuploTrainBaseSpeedometer extends Device {
}
export namespace DuploTrainBaseSpeedometer {
export enum Mode {
SPEED = 0x00
}
export const ModeMap: {[event: string]: number} = {
"speed": DuploTrainBaseSpeedometer.Mode.SPEED
}
}
"speed": Mode.SPEED
};

View File

@ -27,7 +27,7 @@ export class HubLED extends Device {
this.send(Buffer.from([0x06, 0x17, 0x01, 0x01]), Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE);
this.send(Buffer.from([0x06, 0x04, 0x01, color]), Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE);
} else {
this.subscribe(HubLED.Mode.COLOR);
this.subscribe(Mode.COLOR);
this.writeDirect(0x00, Buffer.from([color]));
}
return resolve();
@ -49,7 +49,7 @@ export class HubLED extends Device {
this.send(Buffer.from([0x06, 0x17, 0x01, 0x02]), Consts.BLECharacteristic.WEDO2_PORT_TYPE_WRITE);
this.send(Buffer.from([0x06, 0x04, 0x03, red, green, blue]), Consts.BLECharacteristic.WEDO2_MOTOR_VALUE_WRITE);
} else {
this.subscribe(HubLED.Mode.RGB);
this.subscribe(Mode.RGB);
this.writeDirect(0x01, Buffer.from([red, green, blue]));
}
return resolve();
@ -59,11 +59,7 @@ export class HubLED extends Device {
}
export namespace HubLED {
export enum Mode {
COLOR = 0x00,
RGB = 0x01
}
}

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class MotionSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, MotionSensor.ModeMap, Consts.DeviceType.MOTION_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.MOTION_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case MotionSensor.Mode.DISTANCE:
case Mode.DISTANCE:
let distance = message[this.isWeDo2SmartHub ? 2 : 4];
if (message[this.isWeDo2SmartHub ? 3 : 5] === 1) {
distance = distance + 255;
@ -32,14 +32,10 @@ export class MotionSensor extends Device {
}
export namespace MotionSensor {
export enum Mode {
DISTANCE = 0x00
}
export const ModeMap: {[event: string]: number} = {
"distance": MotionSensor.Mode.DISTANCE
}
}
"distance": Mode.DISTANCE
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class MoveHubTiltSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, MoveHubTiltSensor.ModeMap, Consts.DeviceType.MOVE_HUB_TILT_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.MOVE_HUB_TILT_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case MoveHubTiltSensor.Mode.TILT:
case Mode.TILT:
/**
* Emits when a tilt sensor is activated.
* @event MoveHubTiltSensor#tilt
@ -30,14 +30,10 @@ export class MoveHubTiltSensor extends Device {
}
export namespace MoveHubTiltSensor {
export enum Mode {
TILT = 0x00
}
export const ModeMap: {[event: string]: number} = {
"tilt": MoveHubTiltSensor.Mode.TILT
}
}
"tilt": Mode.TILT
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class RemoteControlButton extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, RemoteControlButton.ModeMap, Consts.DeviceType.REMOTE_CONTROL_BUTTON);
super(hub, portId, ModeMap, Consts.DeviceType.REMOTE_CONTROL_BUTTON);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case RemoteControlButton.Mode.BUTTON_EVENTS:
case Mode.BUTTON_EVENTS:
/**
* Emits when a button on the remote is pressed or released.
* @event RemoteControlButton#button
@ -28,21 +28,17 @@ export class RemoteControlButton extends Device {
}
export namespace RemoteControlButton {
export enum Mode {
BUTTON_EVENTS = 0x00
}
export const ModeMap: {[event: string]: number} = {
"remoteButton": RemoteControlButton.Mode.BUTTON_EVENTS
}
"remoteButton": Mode.BUTTON_EVENTS
};
export const ButtonState: {[state: string]: number} = {
"UP": 0x01,
"DOWN": 0xff,
"STOP": 0x7f,
"RELEASED": 0x00,
}
}
};

View File

@ -8,14 +8,14 @@ import { mapSpeed } from "../utils";
export class TachoMotor extends BasicMotor {
constructor (hub: IDeviceInterface, portId: number, modeMap: {[event: string]: number} = {}, type: Consts.DeviceType = Consts.DeviceType.UNKNOWN) {
super(hub, portId, Object.assign({}, modeMap, TachoMotor.ModeMap), type);
super(hub, portId, Object.assign({}, modeMap, ModeMap), type);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case TachoMotor.Mode.ROTATION:
case Mode.ROTATION:
const rotation = message.readInt32LE(this.isWeDo2SmartHub ? 2 : 4);
/**
* Emits when a rotation sensor is activated.
@ -51,14 +51,10 @@ export class TachoMotor extends BasicMotor {
}
export namespace TachoMotor {
export enum Mode {
ROTATION = 0x02
}
export const ModeMap: {[event: string]: number} = {
"rotate": TachoMotor.Mode.ROTATION
}
}
"rotate": Mode.ROTATION
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class TechnicMediumHubAccelerometerSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, TechnicMediumHubAccelerometerSensor.ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER);
super(hub, portId, ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case TechnicMediumHubAccelerometerSensor.Mode.ACCEL:
case Mode.ACCEL:
/**
* Emits when accelerometer detects movement. Measured in mG.
* @event LPF2Hub#accel
@ -33,14 +33,10 @@ export class TechnicMediumHubAccelerometerSensor extends Device {
}
export namespace TechnicMediumHubAccelerometerSensor {
export enum Mode {
ACCEL = 0x00
}
export const ModeMap: {[event: string]: number} = {
"accel": TechnicMediumHubAccelerometerSensor.Mode.ACCEL
}
}
"accel": Mode.ACCEL
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class TechnicMediumHubGyroSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, TechnicMediumHubGyroSensor.ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case TechnicMediumHubGyroSensor.Mode.GYRO:
case Mode.GYRO:
/**
* Emits when gyroscope detects movement. Measured in DPS - degrees per second.
* @event TechnicMediumHubGyroSensor#gyro
@ -32,14 +32,10 @@ export class TechnicMediumHubGyroSensor extends Device {
}
export namespace TechnicMediumHubGyroSensor {
export enum Mode {
GYRO = 0x00
}
export const ModeMap: {[event: string]: number} = {
"gyro": TechnicMediumHubGyroSensor.Mode.GYRO
}
}
"gyro": Mode.GYRO
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class TechnicMediumHubTiltSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, TechnicMediumHubTiltSensor.ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case TechnicMediumHubTiltSensor.Mode.TILT:
case Mode.TILT:
/**
* Emits when a tilt sensor is activated.
* @event TechnicMediumHubTiltSensor#tilt
@ -32,14 +32,10 @@ export class TechnicMediumHubTiltSensor extends Device {
}
export namespace TechnicMediumHubTiltSensor {
export enum Mode {
TILT = 0x00
}
export const ModeMap: {[event: string]: number} = {
"tilt": TechnicMediumHubTiltSensor.Mode.TILT
}
}
"tilt": Mode.TILT
};

View File

@ -7,14 +7,14 @@ import * as Consts from "../consts";
export class TiltSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, TiltSensor.ModeMap, Consts.DeviceType.TILT_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.TILT_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case TiltSensor.Mode.TILT:
case Mode.TILT:
const x = message.readInt8(this.isWeDo2SmartHub ? 2 : 4);
const y = message.readInt8(this.isWeDo2SmartHub ? 3 : 5);
/**
@ -30,14 +30,10 @@ export class TiltSensor extends Device {
}
export namespace TiltSensor {
export enum Mode {
TILT = 0x00
}
export const ModeMap: {[event: string]: number} = {
"tilt": TiltSensor.Mode.TILT
}
}
"tilt": Mode.TILT
};

View File

@ -7,25 +7,25 @@ import * as Consts from "../consts";
export class VoltageSensor extends Device {
constructor (hub: IDeviceInterface, portId: number) {
super(hub, portId, VoltageSensor.ModeMap, Consts.DeviceType.VOLTAGE_SENSOR);
super(hub, portId, ModeMap, Consts.DeviceType.VOLTAGE_SENSOR);
}
public receive (message: Buffer) {
const mode = this._mode;
switch (mode) {
case VoltageSensor.Mode.VOLTAGE:
case Mode.VOLTAGE:
if (this.isWeDo2SmartHub) {
const voltage = message.readInt16LE(2) / 40;
this.emitGlobal("voltage", { voltage });
} else {
let maxVoltageValue = VoltageSensor.MaxVoltageValue[this.hub.type];
let maxVoltageValue = MaxVoltageValue[this.hub.type];
if (maxVoltageValue === undefined) {
maxVoltageValue = VoltageSensor.MaxVoltageValue[Consts.HubType.UNKNOWN];
maxVoltageValue = MaxVoltageValue[Consts.HubType.UNKNOWN];
}
let maxVoltageRaw = VoltageSensor.MaxVoltageRaw[this.hub.type];
let maxVoltageRaw = MaxVoltageRaw[this.hub.type];
if (maxVoltageRaw === undefined) {
maxVoltageRaw = VoltageSensor.MaxVoltageRaw[Consts.HubType.UNKNOWN];
maxVoltageRaw = MaxVoltageRaw[Consts.HubType.UNKNOWN];
}
const voltage = message.readUInt16LE(4) * maxVoltageValue / maxVoltageRaw;
/**
@ -41,27 +41,23 @@ export class VoltageSensor extends Device {
}
export namespace VoltageSensor {
export enum Mode {
VOLTAGE = 0x00
}
export const ModeMap: {[event: string]: number} = {
"voltage": VoltageSensor.Mode.VOLTAGE
}
"voltage": Mode.VOLTAGE
};
export const MaxVoltageValue: {[hubType: number]: number} = {
const MaxVoltageValue: {[hubType: number]: number} = {
[Consts.HubType.UNKNOWN]: 9.615,
[Consts.HubType.DUPLO_TRAIN_BASE]: 6.4,
[Consts.HubType.REMOTE_CONTROL]: 6.4,
}
};
export const MaxVoltageRaw: {[hubType: number]: number} = {
const MaxVoltageRaw: {[hubType: number]: number} = {
[Consts.HubType.UNKNOWN]: 3893,
[Consts.HubType.DUPLO_TRAIN_BASE]: 3047,
[Consts.HubType.REMOTE_CONTROL]: 3200,
[Consts.HubType.TECHNIC_MEDIUM_HUB]: 4095,
}
}
};

View File

@ -17,9 +17,9 @@ import { MediumLinearMotor } from "../devices/mediumlinearmotor";
import { MotionSensor } from "../devices/motionsensor";
import { MoveHubMediumLinearMotor } from "../devices/movehubmediumlinearmotor";
import { MoveHubTiltSensor } from "../devices/movehubtiltsensor";
import { PiezoBuzzer } from "../devices/piezobuzzer";
import { RemoteControlButton } from "../devices/remotecontrolbutton";
import { SimpleMediumLinearMotor } from "../devices/simplemediumlinearmotor";
import { PiezoBuzzer } from "../devices/piezobuzzer";
import { TechnicLargeLinearMotor } from "../devices/techniclargelinearmotor";
import { TechnicMediumHubAccelerometerSensor } from "../devices/technicmediumhubaccelerometersensor";
import { TechnicMediumHubGyroSensor } from "../devices/technicmediumhubgyrosensor";
@ -234,7 +234,7 @@ export class BaseHub extends EventEmitter {
} else {
return false;
}
})
});
});
}
@ -343,6 +343,7 @@ export class BaseHub extends EventEmitter {
[Consts.DeviceType.MOTION_SENSOR]: MotionSensor,
[Consts.DeviceType.TILT_SENSOR]: TiltSensor,
[Consts.DeviceType.MOVE_HUB_TILT_SENSOR]: MoveHubTiltSensor,
[Consts.DeviceType.PIEZO_BUZZER]: PiezoBuzzer,
[Consts.DeviceType.TECHNIC_MEDIUM_HUB_TILT_SENSOR]: TechnicMediumHubTiltSensor,
[Consts.DeviceType.TECHNIC_MEDIUM_HUB_GYRO_SENSOR]: TechnicMediumHubGyroSensor,
[Consts.DeviceType.TECHNIC_MEDIUM_HUB_ACCELEROMETER]: TechnicMediumHubAccelerometerSensor,

View File

@ -31,7 +31,7 @@ export class DuploTrainBase extends LPF2Hub {
constructor (device: IBLEAbstraction) {
super(device, DuploTrainBase.PortMap, Consts.HubType.DUPLO_TRAIN_BASE);
super(device, PortMap, Consts.HubType.DUPLO_TRAIN_BASE);
debug("Discovered Duplo Train Base");
}
@ -48,12 +48,9 @@ export class DuploTrainBase extends LPF2Hub {
}
export namespace DuploTrainBase {
export const PortMap: {[portName: string]: number} = {
"MOTOR": 0,
"COLOR": 18,
"SPEEDOMETER": 19
}
};
}

View File

@ -34,7 +34,7 @@ export class Hub extends LPF2Hub {
protected _currentPort = 0x3b;
constructor (device: IBLEAbstraction) {
super(device, Hub.PortMap, Consts.HubType.HUB);
super(device, PortMap, Consts.HubType.HUB);
debug("Discovered Powered UP Hub");
}
@ -58,14 +58,10 @@ export class Hub extends LPF2Hub {
}
export namespace Hub {
export const PortMap: {[portName: string]: number} = {
"A": 0,
"B": 1,
"HUB_LED": 50,
"CURRENT_SENSOR": 59,
"VOLTAGE_SENSOR": 60
}
}
};

View File

@ -32,7 +32,7 @@ export class MoveHub extends LPF2Hub {
}
constructor (device: IBLEAbstraction) {
super(device, MoveHub.PortMap, Consts.HubType.MOVE_HUB);
super(device, PortMap, Consts.HubType.MOVE_HUB);
debug("Discovered Move Hub");
}
@ -56,8 +56,6 @@ export class MoveHub extends LPF2Hub {
}
export namespace MoveHub {
export const PortMap: {[portName: string]: number} = {
"A": 0,
"B": 1,
@ -67,6 +65,4 @@ export namespace MoveHub {
"TILT_SENSOR": 58,
"CURRENT_SENSOR": 59,
"VOLTAGE_SENSOR": 60
}
}
};

View File

@ -32,7 +32,7 @@ export class RemoteControl extends LPF2Hub {
constructor (device: IBLEAbstraction) {
super(device, RemoteControl.PortMap, Consts.HubType.REMOTE_CONTROL);
super(device, PortMap, Consts.HubType.REMOTE_CONTROL);
debug("Discovered Powered UP Remote");
}
@ -49,14 +49,10 @@ export class RemoteControl extends LPF2Hub {
}
export namespace RemoteControl {
export const PortMap: {[portName: string]: number} = {
"LEFT": 0,
"RIGHT": 1,
"HUB_LED": 52,
"VOLTAGE_SENSOR": 59,
"REMOTE_CONTROL_RSSI": 60
}
}
};

View File

@ -31,7 +31,7 @@ export class TechnicMediumHub extends LPF2Hub {
}
constructor (device: IBLEAbstraction) {
super(device, TechnicMediumHub.PortMap, Consts.HubType.TECHNIC_MEDIUM_HUB);
super(device, PortMap, Consts.HubType.TECHNIC_MEDIUM_HUB);
debug("Discovered Control+ Hub");
}
@ -108,8 +108,6 @@ export class TechnicMediumHub extends LPF2Hub {
}
export namespace TechnicMediumHub {
export const PortMap: {[portName: string]: number} = {
"A": 0,
"B": 1,
@ -121,6 +119,4 @@ export namespace TechnicMediumHub {
"ACCELEROMETER": 97,
"GYRO_SENSOR": 98,
"TILT_SENSOR": 99
}
}
};

View File

@ -35,7 +35,7 @@ export class WeDo2SmartHub extends BaseHub {
constructor (device: IBLEAbstraction) {
super(device, WeDo2SmartHub.PortMap, Consts.HubType.WEDO2_SMART_HUB);
super(device, PortMap, Consts.HubType.WEDO2_SMART_HUB);
debug("Discovered WeDo 2.0 Smart Hub");
}
@ -228,8 +228,6 @@ export class WeDo2SmartHub extends BaseHub {
}
export namespace WeDo2SmartHub {
export const PortMap: {[portName: string]: number} = {
"A": 1,
"B": 2,
@ -237,6 +235,4 @@ export namespace WeDo2SmartHub {
"VOLTAGE_SENSOR": 4,
"PIEZO_BUZZER": 5,
"HUB_LED": 6
}
}
};