{"_id":"@alexgyver/ble","_rev":"10-46c4c91b1488ac06bc8c716b311718bf","name":"@alexgyver/ble","dist-tags":{"latest":"1.0.10"},"versions":{"1.0.0":{"name":"@alexgyver/ble","version":"1.0.0","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.0","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"eaa212ad1a4d006a25827c67387a8c71ddb4cec6","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.0.tgz","fileCount":13,"integrity":"sha512-jeLqYKRRKbGw7WXogf0fC/iEZ7iWEWk9nc1cnjUd4G/ZXtfn8TRyb3h4y8AsP1py18LwlIPlq2n6MKhdjtu7Qw==","signatures":[{"sig":"MEUCIBvwKRXwbrMsca6b06Eaw58c/OSoxncNIbIfqaGSogMeAiEA2I9Ih9K7zXlqz4rUDOH3ArYsDOXf7IFVauW/0nTsoP0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15632},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"a5b443f4b603db18fdddba4e399f02b87048673a","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.103.0","webpack-cli":"^6.0.1","webpack-dev-server":"^5.2.2","html-webpack-plugin":"^5.6.5"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.0_1765442182220_0.3932616686728736","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alexgyver/ble","version":"1.0.1","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.1","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"789966622c17f5a342f2305f7b33dddc3f293a9d","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.1.tgz","fileCount":14,"integrity":"sha512-9NRQEOCTeEf/2YqjldSI8iwUOzI+mpHITLs1oKN3UDAdyg0SwYW2qEtynHplRaLIlBXdTTj+syDvfXDX6Yzyvw==","signatures":[{"sig":"MEUCIQDlq6MQYSficXuTF17mzUDe3Cf/vUwziHBKdMAxVQU7zgIgPTgLBocBus68gMxm4Pdi9tS7ZnIp4fFLVpxh/FtGi/Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24641},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"d877597c16a86edd2e70c9509bad080c3ca93555","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.4"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.105.1","css-loader":"^7.1.3","webpack-cli":"^6.0.1","style-loader":"^4.0.0","webpack-dev-server":"^5.2.3"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.1_1777932637156_0.5785445281494275","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alexgyver/ble","version":"1.0.2","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.2","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"55995a6e09f57924a006af9cc4803b80092336c3","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.2.tgz","fileCount":14,"integrity":"sha512-dBZLOfmvRmJpeSL+WwnAXmF6jcIo/IxkwKKL/u1LBzPfQo2W7Nwl4mCxJm1b1v3eBNzv2n6XWFiVUwc/RUvAtA==","signatures":[{"sig":"MEQCIB4fNQRUIN7hmbyVyxU0lleNrCGna0hDLGF1qEkFb2dBAiBGe+mFtcd9dzw4iEniiOi4BoJcwcqbbaoyxV6TnrnbSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26247},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.6"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.2_1778777809144_0.8332139124446252","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alexgyver/ble","version":"1.0.3","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.3","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"5c65fe8adc384b8f11659f215e9499bbe18041ed","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.3.tgz","fileCount":14,"integrity":"sha512-XbBBCrsXdBg3swj45iNxwfDp4YpvmkANZyKBM5DAXG6DYplFMfhCWZiP3SERmOGhYC2RRFTKlDx7oSpDjB+ajA==","signatures":[{"sig":"MEQCIBKGKh3lIKRC4JNtKtKIKfAOdmqLq24kpA7rIqAeQMyzAiBSX/eySHkzIMHdXjLMq8HINRdxd6opHF5UJsBD2e94Xg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26247},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.6"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.3_1778777875055_0.6925907601680346","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alexgyver/ble","version":"1.0.4","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.4","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"c74219982fd2c6a84f70fce1c364820cec7a83bb","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.4.tgz","fileCount":14,"integrity":"sha512-uwEoqthI+qEFq7PT+LukIemqsmvt35rvr2qZVepCBHGtd2VnxaYyzueL9Nr80QyIs4Sir3WEFPtoBM8P7WdICw==","signatures":[{"sig":"MEYCIQDXxnjmrzXlAEfu1ziifV5Gvot2MGfZTZM5XryJ9oD7ggIhAMnllGq+1PJT30D20GlZACLzjL1aAtwCDYFLnZy4y5RS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26247},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.7"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.4_1778778213125_0.37101197115707674","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alexgyver/ble","version":"1.0.5","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.5","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"5459ec728fe208447f5713aaac0739a9045147f9","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.5.tgz","fileCount":12,"integrity":"sha512-CfFytCy+fTy/jj/lBa1KkDhWBxV6E+HmO/deJe87zrfjAmI3a/BdZedwYsfZYzqZ8lYeDMeIGyDsvHWr0fbYBA==","signatures":[{"sig":"MEQCIH27FTqkpvNgtA+2AJCmegZb30gGt+JtcmYhXQ0JD/DqAiBl8R1A+9zw+nVZ/jnFBIba/yBhbzn/J7vvEN3BBTv6DA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16313},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.8"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.5_1778779233392_0.5420408314498419","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@alexgyver/ble","version":"1.0.7","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.7","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"f830733e2749bdda36893b62c369402b5f6c94e9","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.7.tgz","fileCount":12,"integrity":"sha512-S6yILsSWmsZpAYZoeYk7UOlXiPVIo9KnaOtPtVpmVQ1s9+peF+Mavqm8xQZLJI57iBZJqFWA3laYO/GtdktkDg==","signatures":[{"sig":"MEUCIH1PRkellxo7XPH0qEfSBnOAT/Ok1DemMET9iQl4jm00AiEAxB6P2wUUJvqEzL+mzpwB8s5q2HGuRv+kKke78Atb26M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16475},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.8"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.7_1778782229045_0.23281507444645122","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@alexgyver/ble","version":"1.0.8","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.8","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"ddcab5d07e3917fabd3a076bdda5f3db3c39a388","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.8.tgz","fileCount":12,"integrity":"sha512-lITkdLBn0jP9CJIrvQIyzzwZVzPOTcOniIBeu+9zLEyqS0+Y1SzxhjbNC3CKhc/8YvHhQ8E9z4JpclycCIgCog==","signatures":[{"sig":"MEUCIFMO0BpnpkIeKXm2Nd09trdKUJR9GQplkWOyCrBJLyHXAiEAtBhTqUC38Y7Zb49tK0youMiofBoL1Oh6j8azFmwtS74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":16479},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"43ee6bd428d24e5cb0100273d1deef4ac4f19746","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.8"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.106.2","css-loader":"^7.1.4","webpack-cli":"^7.0.2","style-loader":"^4.0.0","webpack-dev-server":"^5.2.4"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.8_1778783673944_0.6814614789508482","host":"s3://npm-registry-packages-npm-production"}},"1.0.9":{"name":"@alexgyver/ble","version":"1.0.9","author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","_id":"@alexgyver/ble@1.0.9","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"homepage":"https://github.com/GyverLibs/ble.js#readme","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"dist":{"shasum":"c8be1ed6a7648331205ebfc1288e1e9ca57b2715","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.9.tgz","fileCount":15,"integrity":"sha512-n8f9TuSr3bRsMg/xxo0Z2PQlqq59IipXjaH5HjGBbGYFdvjfdKYLB4+77cCDzI58d0AYSsWsiaoE8F9E3BMmfg==","signatures":[{"sig":"MEUCIFjxLp7yLVWdjM9VlI1GPgN1J8imcqBPWudU7J5FeSOMAiEArhuDu2kI+P2ZX+nvG3TNCUe/4AH4k3+DFbKopoE/1lg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21408},"main":"./ble.js","types":"./ble.js","module":"./ble.js","gitHead":"bdfaa6d0cd36ffccb865c90b06fd7ae2c4fb6b4e","scripts":{"dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js","build":"webpack --config ./webpack.config.js"},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"repository":{"url":"git+https://github.com/GyverLibs/ble.js.git","type":"git"},"_npmVersion":"11.7.0","description":"Web BLE Serial","directories":{},"_nodeVersion":"22.19.0","dependencies":{"@alexgyver/utils":"^1.2.18"},"_hasShrinkwrap":false,"devDependencies":{"webpack":"^5.110.2","css-loader":"^7.1.5","webpack-cli":"^7.2.3","style-loader":"^4.0.0","webpack-dev-server":"^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/ble_1.0.9_1788244633108_0.24717809621703135","host":"s3://npm-registry-packages-npm-production"}},"1.0.10":{"name":"@alexgyver/ble","version":"1.0.10","description":"Web BLE Serial","main":"./ble.js","module":"./ble.js","types":"./ble.js","scripts":{"build":"webpack --config ./webpack.config.js","dev":"webpack serve --config ./webpack.dev.config.js & webpack --config ./webpack.dev.config.js"},"repository":{"type":"git","url":"git+https://github.com/GyverLibs/ble.js.git"},"devDependencies":{"css-loader":"^7.1.5","style-loader":"^4.0.0","webpack":"^5.110.3","webpack-cli":"^7.2.3","webpack-dev-server":"^6.0.0"},"dependencies":{"@alexgyver/utils":"^1.2.18"},"author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","gitHead":"b91c63dde18ba46864f03cd9048abb2305d91d28","_id":"@alexgyver/ble@1.0.10","bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"homepage":"https://github.com/GyverLibs/ble.js#readme","_nodeVersion":"22.19.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-ywxaT3sHD/ztAOL5gzwKAio6tlwNXAl7LEwyGyikdoCGX2STmbo/axsSbCvkkCtBNYL5FQLZNX1I5jFfO3stmA==","shasum":"37cb339c005472f3c7525481116a2aa6027e7b88","tarball":"https://registry.npmjs.org/@alexgyver/ble/-/ble-1.0.10.tgz","fileCount":15,"unpackedSize":27362,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCW1M8HMuKPg76g9Ta8njmBDqDRU3pGaKthSXjyqoCNbQIhAISXGvB29HxdX6Pe87qaprEBCrfgXEXXoSugCR22xFtr"}]},"_npmUser":{"name":"gyver","email":"alex@alexgyver.ru"},"directories":{},"maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/ble_1.0.10_1788948084655_0.8799196185028733"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-11T08:36:22.111Z","modified":"2026-09-09T10:01:25.016Z","1.0.0":"2025-12-11T08:36:22.393Z","1.0.1":"2026-05-04T22:10:37.297Z","1.0.2":"2026-05-14T16:56:49.292Z","1.0.3":"2026-05-14T16:57:55.210Z","1.0.4":"2026-05-14T17:03:33.274Z","1.0.5":"2026-05-14T17:20:33.540Z","1.0.7":"2026-05-14T18:10:29.220Z","1.0.8":"2026-05-14T18:34:34.121Z","1.0.9":"2026-09-01T06:37:13.254Z","1.0.10":"2026-09-09T10:01:24.813Z"},"bugs":{"url":"https://github.com/GyverLibs/ble.js/issues"},"author":{"name":"AlexGyver","email":"alex@alexgyver.ru"},"license":"MIT","homepage":"https://github.com/GyverLibs/ble.js#readme","repository":{"type":"git","url":"git+https://github.com/GyverLibs/ble.js.git"},"description":"Web BLE Serial","maintainers":[{"name":"gyver","email":"alex@alexgyver.ru"}],"readme":"# BLE.js\nОбёртка на Web Bluetooth API\n- Автоматическое переподключение\n- Последовательная отправка без пересечения записей\n- Настраиваемое дробление больших отправок\n- Отдельная атомарная отправка одного BLE frame\n\n[demo](https://gyverlibs.github.io/BLE.js/test/)\n\n> **Browser**: https://gyverlibs.github.io/BLE.js/BLE.min.js\n\n> **Node**: npm i @alexgyver/ble\n\n## Дока\n```js\nconstructor(params = {});\nconfig(params = {});\n// serviceUUID: '0000ffe0-0000-1000-8000-00805f9b34fb'\n// rxUUID: '0000ffe1-0000-1000-8000-00805f9b34fb'\n// txUUID: '0000ffe2-0000-1000-8000-00805f9b34fb'\n// auto_open: false\n// reconnect: 1000\n// chunkSize: 500\n// chunkDelay: 0\n// withResponse: false\n\nonbin(b);\nontext(t);\n\nonopen():\nonclose():\nonchange(s):\nonselect(name);\nonerror(e);\n\nstatic supported();\nopened();\nselected();\ngetName();\ngetRxProperties();\ngetTxProperties();\ncanWriteWithResponse();\ncanWriteWithoutResponse();\ncanIndicate();\n\nselect();\nopen();\nclose();\n\nsendBin(data, options = {});\nsendText(text, options = {});\n```\n\nВсе методы отправки возвращают `Promise<boolean>`.\n\n## Дробление отправки\n\n`sendBin()` делит данные на несколько BLE characteristic writes по `chunkSize`. Задержка между записями задаётся через `chunkDelay`:\n\n```js\nconst ble = new BLEJS({\n    chunkSize: 100,\n    chunkDelay: 5,\n});\n\nawait ble.sendBin(data);\n```\n\n`chunkSize <= 0` отключает дробление и выполняет одну characteristic write:\n\n```js\nawait ble.sendBin(data, { chunkSize: 0 });\n```\n\nДля протоколов, где одна BLE write является одним транспортным frame, отключите дробление для конкретной отправки:\n\n```js\nconst ok = await ble.sendBin(frame, { chunkSize: 0 });\n```\n\nОпция `withResponse` едина для всех методов отправки:\n\n```js\nawait ble.sendBin(data, { withResponse: true });\nawait ble.sendText('hello', { withResponse: true });\n```\n\nДля атомарного фрейма с GATT response обе опции можно совместить:\n\n```js\nawait ble.sendBin(frame, { withResponse: true, chunkSize: 0 });\n```\n\nПри `withResponse: true` используется `writeValueWithResponse()`. Promise отправки завершается после ответа GATT-сервера, поэтому режим подходит для последовательной передачи с транспортным backpressure. Значение по умолчанию задаётся одноимённой настройкой конструктора.\n\nДля обратной совместимости второй boolean-аргумент продолжает трактоваться как старый `fast`: `true` выбирает Write without Response, `false` — Write with Response. Третий аргумент старой формы задаёт `chunkSize`:\n\n```js\nawait ble.sendBin(data, false, 100);\n```\n\nПеред использованием можно проверить свойства найденных характеристик:\n\n```js\nif (!ble.canWriteWithResponse()) throw new Error('Write with Response is unavailable');\nif (!ble.canWriteWithoutResponse()) throw new Error('Write without Response is unavailable');\nif (!ble.canIndicate()) throw new Error('Indications are unavailable');\n```\n\n`getRxProperties()` и `getTxProperties()` возвращают объект `BluetoothCharacteristicProperties` либо `null`, пока соединение не открыто. `startNotifications()` включает доступный режим, но не позволяет JavaScript принудительно выбрать Indication вместо Notification. Если протоколу нужны именно Indication, TX characteristic на устройстве следует объявлять как indicate-only.\n\nПроверка поддержки выбранного способа записи выполняется внутри `sendBin()`. При несовместимой RX characteristic метод вызывает `onerror` и возвращает `false`.\n","readmeFilename":"README.md"}