@rickosborne/bluetools 2025.3.9
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/README.md +2624 -0
- package/assigned.cjs +577 -0
- package/assigned.cjs.map +6 -0
- package/assigned.d.ts +552 -0
- package/assigned.d.ts.map +1 -0
- package/assigned.mjs +557 -0
- package/assigned.mjs.map +6 -0
- package/battery-level.cjs +50 -0
- package/battery-level.cjs.map +6 -0
- package/battery-level.d.ts +25 -0
- package/battery-level.d.ts.map +1 -0
- package/battery-level.mjs +31 -0
- package/battery-level.mjs.map +6 -0
- package/cross-trainer-data.cjs +188 -0
- package/cross-trainer-data.cjs.map +6 -0
- package/cross-trainer-data.d.ts +192 -0
- package/cross-trainer-data.d.ts.map +1 -0
- package/cross-trainer-data.mjs +169 -0
- package/cross-trainer-data.mjs.map +6 -0
- package/csc-feature.cjs +59 -0
- package/csc-feature.cjs.map +6 -0
- package/csc-feature.d.ts +55 -0
- package/csc-feature.d.ts.map +1 -0
- package/csc-feature.mjs +40 -0
- package/csc-feature.mjs.map +6 -0
- package/csc-measurement.cjs +76 -0
- package/csc-measurement.cjs.map +6 -0
- package/csc-measurement.d.ts +57 -0
- package/csc-measurement.d.ts.map +1 -0
- package/csc-measurement.mjs +57 -0
- package/csc-measurement.mjs.map +6 -0
- package/current-time.cjs +66 -0
- package/current-time.cjs.map +6 -0
- package/current-time.d.ts +65 -0
- package/current-time.d.ts.map +1 -0
- package/current-time.mjs +47 -0
- package/current-time.mjs.map +6 -0
- package/data-view-from-hex.cjs +34 -0
- package/data-view-from-hex.cjs.map +6 -0
- package/data-view-from-hex.d.ts +6 -0
- package/data-view-from-hex.d.ts.map +1 -0
- package/data-view-from-hex.mjs +15 -0
- package/data-view-from-hex.mjs.map +6 -0
- package/data-view-reader.cjs +115 -0
- package/data-view-reader.cjs.map +6 -0
- package/data-view-reader.d.ts +21 -0
- package/data-view-reader.d.ts.map +1 -0
- package/data-view-reader.mjs +96 -0
- package/data-view-reader.mjs.map +6 -0
- package/date-time.cjs +65 -0
- package/date-time.cjs.map +6 -0
- package/date-time.d.ts +89 -0
- package/date-time.d.ts.map +1 -0
- package/date-time.mjs +46 -0
- package/date-time.mjs.map +6 -0
- package/day-date-time.cjs +55 -0
- package/day-date-time.cjs.map +6 -0
- package/day-date-time.d.ts +21 -0
- package/day-date-time.d.ts.map +1 -0
- package/day-date-time.mjs +36 -0
- package/day-date-time.mjs.map +6 -0
- package/day-of-week.cjs +50 -0
- package/day-of-week.cjs.map +6 -0
- package/day-of-week.d.ts +33 -0
- package/day-of-week.d.ts.map +1 -0
- package/day-of-week.mjs +31 -0
- package/day-of-week.mjs.map +6 -0
- package/dst-offset.cjs +50 -0
- package/dst-offset.cjs.map +6 -0
- package/dst-offset.d.ts +30 -0
- package/dst-offset.d.ts.map +1 -0
- package/dst-offset.mjs +31 -0
- package/dst-offset.mjs.map +6 -0
- package/elevation.cjs +50 -0
- package/elevation.cjs.map +6 -0
- package/elevation.d.ts +22 -0
- package/elevation.d.ts.map +1 -0
- package/elevation.mjs +31 -0
- package/elevation.mjs.map +6 -0
- package/exact-time-256.cjs +54 -0
- package/exact-time-256.cjs.map +6 -0
- package/exact-time-256.d.ts +27 -0
- package/exact-time-256.d.ts.map +1 -0
- package/exact-time-256.mjs +35 -0
- package/exact-time-256.mjs.map +6 -0
- package/firmware-revision-string.cjs +50 -0
- package/firmware-revision-string.cjs.map +6 -0
- package/firmware-revision-string.d.ts +19 -0
- package/firmware-revision-string.d.ts.map +1 -0
- package/firmware-revision-string.mjs +31 -0
- package/firmware-revision-string.mjs.map +6 -0
- package/five-zone-heart-rate-limits.cjs +59 -0
- package/five-zone-heart-rate-limits.cjs.map +6 -0
- package/five-zone-heart-rate-limits.d.ts +47 -0
- package/five-zone-heart-rate-limits.d.ts.map +1 -0
- package/five-zone-heart-rate-limits.mjs +40 -0
- package/five-zone-heart-rate-limits.mjs.map +6 -0
- package/gatt-characteristic-presentation-format.cjs +62 -0
- package/gatt-characteristic-presentation-format.cjs.map +6 -0
- package/gatt-characteristic-presentation-format.d.ts +91 -0
- package/gatt-characteristic-presentation-format.d.ts.map +1 -0
- package/gatt-characteristic-presentation-format.mjs +43 -0
- package/gatt-characteristic-presentation-format.mjs.map +6 -0
- package/gatt.cjs +57 -0
- package/gatt.cjs.map +6 -0
- package/gatt.d.ts +4 -0
- package/gatt.d.ts.map +1 -0
- package/gatt.mjs +38 -0
- package/gatt.mjs.map +6 -0
- package/glucose-feature.cjs +83 -0
- package/glucose-feature.cjs.map +6 -0
- package/glucose-feature.d.ts +127 -0
- package/glucose-feature.d.ts.map +1 -0
- package/glucose-feature.mjs +64 -0
- package/glucose-feature.mjs.map +6 -0
- package/glucose-measurement-context.cjs +133 -0
- package/glucose-measurement-context.cjs.map +6 -0
- package/glucose-measurement-context.d.ts +183 -0
- package/glucose-measurement-context.d.ts.map +1 -0
- package/glucose-measurement-context.mjs +114 -0
- package/glucose-measurement-context.mjs.map +6 -0
- package/glucose-measurement.cjs +136 -0
- package/glucose-measurement.cjs.map +6 -0
- package/glucose-measurement.d.ts +230 -0
- package/glucose-measurement.d.ts.map +1 -0
- package/glucose-measurement.mjs +117 -0
- package/glucose-measurement.mjs.map +6 -0
- package/hardware-revision-string.cjs +50 -0
- package/hardware-revision-string.cjs.map +6 -0
- package/hardware-revision-string.d.ts +19 -0
- package/hardware-revision-string.d.ts.map +1 -0
- package/hardware-revision-string.mjs +31 -0
- package/hardware-revision-string.mjs.map +6 -0
- package/heart-rate-control-point.cjs +50 -0
- package/heart-rate-control-point.cjs.map +6 -0
- package/heart-rate-control-point.d.ts +26 -0
- package/heart-rate-control-point.d.ts.map +1 -0
- package/heart-rate-control-point.mjs +31 -0
- package/heart-rate-control-point.mjs.map +6 -0
- package/heart-rate-max.cjs +50 -0
- package/heart-rate-max.cjs.map +6 -0
- package/heart-rate-max.d.ts +23 -0
- package/heart-rate-max.d.ts.map +1 -0
- package/heart-rate-max.mjs +31 -0
- package/heart-rate-max.mjs.map +6 -0
- package/heart-rate-measurement.cjs +79 -0
- package/heart-rate-measurement.cjs.map +6 -0
- package/heart-rate-measurement.d.ts +65 -0
- package/heart-rate-measurement.d.ts.map +1 -0
- package/heart-rate-measurement.mjs +60 -0
- package/heart-rate-measurement.mjs.map +6 -0
- package/heart-rate.cjs +58 -0
- package/heart-rate.cjs.map +6 -0
- package/heart-rate.d.ts +7 -0
- package/heart-rate.d.ts.map +1 -0
- package/heart-rate.mjs +39 -0
- package/heart-rate.mjs.map +6 -0
- package/index.cjs +84 -0
- package/index.cjs.map +6 -0
- package/index.d.ts +67 -0
- package/index.d.ts.map +1 -0
- package/index.mjs +67 -0
- package/index.mjs.map +6 -0
- package/indoor-bike-data.cjs +153 -0
- package/indoor-bike-data.cjs.map +6 -0
- package/indoor-bike-data.d.ts +146 -0
- package/indoor-bike-data.d.ts.map +1 -0
- package/indoor-bike-data.mjs +134 -0
- package/indoor-bike-data.mjs.map +6 -0
- package/language.cjs +50 -0
- package/language.cjs.map +6 -0
- package/language.d.ts +22 -0
- package/language.d.ts.map +1 -0
- package/language.mjs +31 -0
- package/language.mjs.map +6 -0
- package/latitude.cjs +50 -0
- package/latitude.cjs.map +6 -0
- package/latitude.d.ts +19 -0
- package/latitude.d.ts.map +1 -0
- package/latitude.mjs +31 -0
- package/latitude.mjs.map +6 -0
- package/local-time-information.cjs +55 -0
- package/local-time-information.cjs.map +6 -0
- package/local-time-information.d.ts +21 -0
- package/local-time-information.d.ts.map +1 -0
- package/local-time-information.mjs +36 -0
- package/local-time-information.mjs.map +6 -0
- package/location-and-speed.cjs +114 -0
- package/location-and-speed.cjs.map +6 -0
- package/location-and-speed.d.ts +182 -0
- package/location-and-speed.d.ts.map +1 -0
- package/location-and-speed.mjs +95 -0
- package/location-and-speed.mjs.map +6 -0
- package/location-name.cjs +50 -0
- package/location-name.cjs.map +6 -0
- package/location-name.d.ts +19 -0
- package/location-name.d.ts.map +1 -0
- package/location-name.mjs +31 -0
- package/location-name.mjs.map +6 -0
- package/longitude.cjs +50 -0
- package/longitude.cjs.map +6 -0
- package/longitude.d.ts +19 -0
- package/longitude.d.ts.map +1 -0
- package/longitude.mjs +31 -0
- package/longitude.mjs.map +6 -0
- package/manufacturer-name-string.cjs +50 -0
- package/manufacturer-name-string.cjs.map +6 -0
- package/manufacturer-name-string.d.ts +19 -0
- package/manufacturer-name-string.d.ts.map +1 -0
- package/manufacturer-name-string.mjs +31 -0
- package/manufacturer-name-string.mjs.map +6 -0
- package/maximum-recommended-heart-rate.cjs +50 -0
- package/maximum-recommended-heart-rate.cjs.map +6 -0
- package/maximum-recommended-heart-rate.d.ts +23 -0
- package/maximum-recommended-heart-rate.d.ts.map +1 -0
- package/maximum-recommended-heart-rate.mjs +31 -0
- package/maximum-recommended-heart-rate.mjs.map +6 -0
- package/measurement-interval.cjs +50 -0
- package/measurement-interval.cjs.map +6 -0
- package/measurement-interval.d.ts +27 -0
- package/measurement-interval.d.ts.map +1 -0
- package/measurement-interval.mjs +31 -0
- package/measurement-interval.mjs.map +6 -0
- package/model-number-string.cjs +50 -0
- package/model-number-string.cjs.map +6 -0
- package/model-number-string.d.ts +19 -0
- package/model-number-string.d.ts.map +1 -0
- package/model-number-string.mjs +31 -0
- package/model-number-string.mjs.map +6 -0
- package/navigation.cjs +90 -0
- package/navigation.cjs.map +6 -0
- package/navigation.d.ts +134 -0
- package/navigation.d.ts.map +1 -0
- package/navigation.mjs +71 -0
- package/navigation.mjs.map +6 -0
- package/number-of-digitals.cjs +50 -0
- package/number-of-digitals.cjs.map +6 -0
- package/number-of-digitals.d.ts +19 -0
- package/number-of-digitals.d.ts.map +1 -0
- package/number-of-digitals.mjs +31 -0
- package/number-of-digitals.mjs.map +6 -0
- package/package.json +456 -0
- package/plx-continuous-measurement.cjs +184 -0
- package/plx-continuous-measurement.cjs.map +6 -0
- package/plx-continuous-measurement.d.ts +352 -0
- package/plx-continuous-measurement.d.ts.map +1 -0
- package/plx-continuous-measurement.mjs +165 -0
- package/plx-continuous-measurement.mjs.map +6 -0
- package/plx-features.cjs +163 -0
- package/plx-features.cjs.map +6 -0
- package/plx-features.d.ts +354 -0
- package/plx-features.d.ts.map +1 -0
- package/plx-features.mjs +144 -0
- package/plx-features.mjs.map +6 -0
- package/plx-spot-check-measurement.cjs +169 -0
- package/plx-spot-check-measurement.cjs.map +6 -0
- package/plx-spot-check-measurement.d.ts +334 -0
- package/plx-spot-check-measurement.d.ts.map +1 -0
- package/plx-spot-check-measurement.mjs +150 -0
- package/plx-spot-check-measurement.mjs.map +6 -0
- package/reference-time-information.cjs +61 -0
- package/reference-time-information.cjs.map +6 -0
- package/reference-time-information.d.ts +38 -0
- package/reference-time-information.d.ts.map +1 -0
- package/reference-time-information.mjs +42 -0
- package/reference-time-information.mjs.map +6 -0
- package/resting-heart-rate.cjs +50 -0
- package/resting-heart-rate.cjs.map +6 -0
- package/resting-heart-rate.d.ts +23 -0
- package/resting-heart-rate.d.ts.map +1 -0
- package/resting-heart-rate.mjs +31 -0
- package/resting-heart-rate.mjs.map +6 -0
- package/rsc-feature.cjs +65 -0
- package/rsc-feature.cjs.map +6 -0
- package/rsc-feature.d.ts +73 -0
- package/rsc-feature.d.ts.map +1 -0
- package/rsc-feature.mjs +46 -0
- package/rsc-feature.mjs.map +6 -0
- package/rsc-measurement.cjs +73 -0
- package/rsc-measurement.cjs.map +6 -0
- package/rsc-measurement.d.ts +70 -0
- package/rsc-measurement.d.ts.map +1 -0
- package/rsc-measurement.mjs +54 -0
- package/rsc-measurement.mjs.map +6 -0
- package/scripts/fetch-and-cache-text.d.ts +2 -0
- package/scripts/fetch-and-cache-text.d.ts.map +1 -0
- package/scripts/from-xml.d.ts +2 -0
- package/scripts/from-xml.d.ts.map +1 -0
- package/scripts/gatt-assigned.d.ts +2 -0
- package/scripts/gatt-assigned.d.ts.map +1 -0
- package/sensor-location.cjs +50 -0
- package/sensor-location.cjs.map +6 -0
- package/sensor-location.d.ts +42 -0
- package/sensor-location.d.ts.map +1 -0
- package/sensor-location.mjs +31 -0
- package/sensor-location.mjs.map +6 -0
- package/serial-number-string.cjs +50 -0
- package/serial-number-string.cjs.map +6 -0
- package/serial-number-string.d.ts +19 -0
- package/serial-number-string.d.ts.map +1 -0
- package/serial-number-string.mjs +31 -0
- package/serial-number-string.mjs.map +6 -0
- package/software-revision-string.cjs +50 -0
- package/software-revision-string.cjs.map +6 -0
- package/software-revision-string.d.ts +19 -0
- package/software-revision-string.d.ts.map +1 -0
- package/software-revision-string.mjs +31 -0
- package/software-revision-string.mjs.map +6 -0
- package/supported-heart-rate-range.cjs +56 -0
- package/supported-heart-rate-range.cjs.map +6 -0
- package/supported-heart-rate-range.d.ts +37 -0
- package/supported-heart-rate-range.d.ts.map +1 -0
- package/supported-heart-rate-range.mjs +37 -0
- package/supported-heart-rate-range.mjs.map +6 -0
- package/supported-inclination-range.cjs +56 -0
- package/supported-inclination-range.cjs.map +6 -0
- package/supported-inclination-range.d.ts +37 -0
- package/supported-inclination-range.d.ts.map +1 -0
- package/supported-inclination-range.mjs +37 -0
- package/supported-inclination-range.mjs.map +6 -0
- package/supported-speed-range.cjs +56 -0
- package/supported-speed-range.cjs.map +6 -0
- package/supported-speed-range.d.ts +37 -0
- package/supported-speed-range.d.ts.map +1 -0
- package/supported-speed-range.mjs +37 -0
- package/supported-speed-range.mjs.map +6 -0
- package/system-id.cjs +53 -0
- package/system-id.cjs.map +6 -0
- package/system-id.d.ts +34 -0
- package/system-id.d.ts.map +1 -0
- package/system-id.mjs +34 -0
- package/system-id.mjs.map +6 -0
- package/temperature-measurement.cjs +79 -0
- package/temperature-measurement.cjs.map +6 -0
- package/temperature-measurement.d.ts +61 -0
- package/temperature-measurement.d.ts.map +1 -0
- package/temperature-measurement.mjs +60 -0
- package/temperature-measurement.mjs.map +6 -0
- package/temperature-type.cjs +50 -0
- package/temperature-type.cjs.map +6 -0
- package/temperature-type.d.ts +37 -0
- package/temperature-type.d.ts.map +1 -0
- package/temperature-type.mjs +31 -0
- package/temperature-type.mjs.map +6 -0
- package/temperature.cjs +50 -0
- package/temperature.cjs.map +6 -0
- package/temperature.d.ts +22 -0
- package/temperature.d.ts.map +1 -0
- package/temperature.mjs +31 -0
- package/temperature.mjs.map +6 -0
- package/three-zone-heart-rate-limits.cjs +53 -0
- package/three-zone-heart-rate-limits.cjs.map +6 -0
- package/three-zone-heart-rate-limits.d.ts +33 -0
- package/three-zone-heart-rate-limits.d.ts.map +1 -0
- package/three-zone-heart-rate-limits.mjs +34 -0
- package/three-zone-heart-rate-limits.mjs.map +6 -0
- package/time-accuracy.cjs +50 -0
- package/time-accuracy.cjs.map +6 -0
- package/time-accuracy.d.ts +23 -0
- package/time-accuracy.d.ts.map +1 -0
- package/time-accuracy.mjs +31 -0
- package/time-accuracy.mjs.map +6 -0
- package/time-source.cjs +50 -0
- package/time-source.cjs.map +6 -0
- package/time-source.d.ts +33 -0
- package/time-source.d.ts.map +1 -0
- package/time-source.mjs +31 -0
- package/time-source.mjs.map +6 -0
- package/time-update-control-point.cjs +50 -0
- package/time-update-control-point.cjs.map +6 -0
- package/time-update-control-point.d.ts +29 -0
- package/time-update-control-point.d.ts.map +1 -0
- package/time-update-control-point.mjs +31 -0
- package/time-update-control-point.mjs.map +6 -0
- package/time-update-state.cjs +53 -0
- package/time-update-state.cjs.map +6 -0
- package/time-update-state.d.ts +45 -0
- package/time-update-state.d.ts.map +1 -0
- package/time-update-state.mjs +34 -0
- package/time-update-state.mjs.map +6 -0
- package/time-with-dst.cjs +55 -0
- package/time-with-dst.cjs.map +6 -0
- package/time-with-dst.d.ts +21 -0
- package/time-with-dst.d.ts.map +1 -0
- package/time-with-dst.mjs +36 -0
- package/time-with-dst.mjs.map +6 -0
- package/time-zone.cjs +50 -0
- package/time-zone.cjs.map +6 -0
- package/time-zone.d.ts +23 -0
- package/time-zone.d.ts.map +1 -0
- package/time-zone.mjs +31 -0
- package/time-zone.mjs.map +6 -0
- package/treadmill-data.cjs +171 -0
- package/treadmill-data.cjs.map +6 -0
- package/treadmill-data.d.ts +167 -0
- package/treadmill-data.d.ts.map +1 -0
- package/treadmill-data.mjs +152 -0
- package/treadmill-data.mjs.map +6 -0
- package/two-zone-heart-rate-limit.cjs +50 -0
- package/two-zone-heart-rate-limit.cjs.map +6 -0
- package/two-zone-heart-rate-limit.d.ts +23 -0
- package/two-zone-heart-rate-limit.d.ts.map +1 -0
- package/two-zone-heart-rate-limit.mjs +31 -0
- package/two-zone-heart-rate-limit.mjs.map +6 -0
- package/vo2-max.cjs +50 -0
- package/vo2-max.cjs.map +6 -0
- package/vo2-max.d.ts +22 -0
- package/vo2-max.d.ts.map +1 -0
- package/vo2-max.mjs +31 -0
- package/vo2-max.mjs.map +6 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
import { dataViewReader } from "./data-view-reader.mjs";
|
|
6
|
+
const _FirmwareRevisionStringImpl = class _FirmwareRevisionStringImpl {
|
|
7
|
+
/** Parse from a DataView into {@link FirmwareRevisionString}. */
|
|
8
|
+
static fromDataView(dataView, indexStart) {
|
|
9
|
+
return new _FirmwareRevisionStringImpl(firmwareRevisionStringFromDataView(dataView, indexStart));
|
|
10
|
+
}
|
|
11
|
+
firmwareRevision;
|
|
12
|
+
constructor(firmwareRevisionString) {
|
|
13
|
+
this.firmwareRevision = firmwareRevisionString.firmwareRevision;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
__name(_FirmwareRevisionStringImpl, "FirmwareRevisionStringImpl");
|
|
17
|
+
__publicField(_FirmwareRevisionStringImpl, "UUID_PREFIX", 10790);
|
|
18
|
+
__publicField(_FirmwareRevisionStringImpl, "TYPE_NAME", "org.bluetooth.characteristic.firmware_revision_string");
|
|
19
|
+
__publicField(_FirmwareRevisionStringImpl, "NAME", "Firmware Revision String");
|
|
20
|
+
let FirmwareRevisionStringImpl = _FirmwareRevisionStringImpl;
|
|
21
|
+
function firmwareRevisionStringFromDataView(dataView, indexStart = 0) {
|
|
22
|
+
const $dvr = dataViewReader(dataView, indexStart);
|
|
23
|
+
const firmwareRevision = $dvr.utf8s();
|
|
24
|
+
return { firmwareRevision };
|
|
25
|
+
}
|
|
26
|
+
__name(firmwareRevisionStringFromDataView, "firmwareRevisionStringFromDataView");
|
|
27
|
+
export {
|
|
28
|
+
FirmwareRevisionStringImpl,
|
|
29
|
+
firmwareRevisionStringFromDataView
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=firmware-revision-string.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/firmware-revision-string.ts"],
|
|
4
|
+
"mappings": ";;;;AAAA,SAA8B,sBAAsB;AAY7C,MAAM,8BAAN,MAAM,4BAA6D;AAAA;AAAA,EAMtE,OAAc,aAAa,UAAqC,YAA6D;AACzH,WAAO,IAAI,4BAA2B,mCAAmC,UAAU,UAAU,CAAC;AAAA,EAClG;AAAA,EAEgB;AAAA,EAET,YAAY,wBAAgD;AAC/D,SAAK,mBAAmB,uBAAuB;AAAA,EACnD;AACJ;AAf0E;AACtE,cADS,6BACc,eAAc;AACrC,cAFS,6BAEc,aAAY;AACnC,cAHS,6BAGc,QAAO;AAH3B,IAAM,6BAAN;AAkBA,SAAS,mCAAmC,UAAqC,aAAqB,GAA2B;AACpI,QAAM,OAAuB,eAAe,UAAU,UAAU;AAChE,QAAM,mBAAmB,KAAK,MAAM;AACpC,SAAO,EAAE,iBAAiB;AAC9B;AAJgB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
var five_zone_heart_rate_limits_exports = {};
|
|
23
|
+
__export(five_zone_heart_rate_limits_exports, {
|
|
24
|
+
FiveZoneHeartRateLimitsImpl: () => FiveZoneHeartRateLimitsImpl,
|
|
25
|
+
fiveZoneHeartRateLimitsFromDataView: () => fiveZoneHeartRateLimitsFromDataView
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(five_zone_heart_rate_limits_exports);
|
|
28
|
+
var import_data_view_reader = require("./data-view-reader.cjs");
|
|
29
|
+
const _FiveZoneHeartRateLimitsImpl = class _FiveZoneHeartRateLimitsImpl {
|
|
30
|
+
/** Parse from a DataView into {@link FiveZoneHeartRateLimits}. */
|
|
31
|
+
static fromDataView(dataView, indexStart) {
|
|
32
|
+
return new _FiveZoneHeartRateLimitsImpl(fiveZoneHeartRateLimitsFromDataView(dataView, indexStart));
|
|
33
|
+
}
|
|
34
|
+
hardLimit;
|
|
35
|
+
hardMaximumLimit;
|
|
36
|
+
lightLightLimit;
|
|
37
|
+
lightModerateLimit;
|
|
38
|
+
constructor(fiveZoneHeartRateLimits) {
|
|
39
|
+
this.hardLimit = fiveZoneHeartRateLimits.hardLimit;
|
|
40
|
+
this.hardMaximumLimit = fiveZoneHeartRateLimits.hardMaximumLimit;
|
|
41
|
+
this.lightLightLimit = fiveZoneHeartRateLimits.lightLightLimit;
|
|
42
|
+
this.lightModerateLimit = fiveZoneHeartRateLimits.lightModerateLimit;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
__name(_FiveZoneHeartRateLimitsImpl, "FiveZoneHeartRateLimitsImpl");
|
|
46
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "UUID_PREFIX", 10891);
|
|
47
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "TYPE_NAME", "org.bluetooth.characteristic.five_zone_heart_rate_limits");
|
|
48
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "NAME", "Five Zone Heart Rate Limits");
|
|
49
|
+
let FiveZoneHeartRateLimitsImpl = _FiveZoneHeartRateLimitsImpl;
|
|
50
|
+
function fiveZoneHeartRateLimitsFromDataView(dataView, indexStart = 0) {
|
|
51
|
+
const $dvr = (0, import_data_view_reader.dataViewReader)(dataView, indexStart);
|
|
52
|
+
const lightLightLimit = $dvr.uint8();
|
|
53
|
+
const lightModerateLimit = $dvr.uint8();
|
|
54
|
+
const hardLimit = $dvr.uint8();
|
|
55
|
+
const hardMaximumLimit = $dvr.uint8();
|
|
56
|
+
return { hardLimit, hardMaximumLimit, lightLightLimit, lightModerateLimit };
|
|
57
|
+
}
|
|
58
|
+
__name(fiveZoneHeartRateLimitsFromDataView, "fiveZoneHeartRateLimitsFromDataView");
|
|
59
|
+
//# sourceMappingURL=five-zone-heart-rate-limits.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/five-zone-heart-rate-limits.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAoD;AAqC7C,MAAM,+BAAN,MAAM,6BAA+D;AAAA;AAAA,EAMxE,OAAc,aAAa,UAAqC,YAA8D;AAC1H,WAAO,IAAI,6BAA4B,oCAAoC,UAAU,UAAU,CAAC;AAAA,EACpG;AAAA,EAEgB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,yBAAkD;AACjE,SAAK,YAAY,wBAAwB;AACzC,SAAK,mBAAmB,wBAAwB;AAChD,SAAK,kBAAkB,wBAAwB;AAC/C,SAAK,qBAAqB,wBAAwB;AAAA,EACtD;AACJ;AArB4E;AACxE,cADS,8BACc,eAAc;AACrC,cAFS,8BAEc,aAAY;AACnC,cAHS,8BAGc,QAAO;AAH3B,IAAM,8BAAN;AAwBA,SAAS,oCAAoC,UAAqC,aAAqB,GAA4B;AACtI,QAAM,WAAuB,wCAAe,UAAU,UAAU;AAChE,QAAM,kBAAkB,KAAK,MAAM;AACnC,QAAM,qBAAqB,KAAK,MAAM;AACtC,QAAM,YAAY,KAAK,MAAM;AAC7B,QAAM,mBAAmB,KAAK,MAAM;AACpC,SAAO,EAAE,WAAW,kBAAkB,iBAAiB,mBAAmB;AAC9E;AAPgB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { type DataViewReader } from "./data-view-reader.js";
|
|
2
|
+
/** <p>Data structure containing the limits between the heart rate zones for the 5-zone heart rate definition (Maximum, Hard, Moderate, Light and Very Light).</p> */
|
|
3
|
+
export interface FiveZoneHeartRateLimits {
|
|
4
|
+
/**
|
|
5
|
+
* <p>Format: `uint8`</p>
|
|
6
|
+
* <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
|
|
7
|
+
* <p>Unit is in beats per minute with a resolution of 1</p>
|
|
8
|
+
*/
|
|
9
|
+
hardLimit: number;
|
|
10
|
+
/**
|
|
11
|
+
* <p>Format: `uint8`</p>
|
|
12
|
+
* <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
|
|
13
|
+
* <p>Unit is in beats per minute with a resolution of 1</p>
|
|
14
|
+
*/
|
|
15
|
+
hardMaximumLimit: number;
|
|
16
|
+
/**
|
|
17
|
+
* <p>Format: `uint8`</p>
|
|
18
|
+
* <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
|
|
19
|
+
* <p>Unit is in beats per minute with a resolution of 1</p>
|
|
20
|
+
*/
|
|
21
|
+
lightLightLimit: number;
|
|
22
|
+
/**
|
|
23
|
+
* <p>Format: `uint8`</p>
|
|
24
|
+
* <p>Unit: `org.bluetooth.unit.period.beats_per_minute`</p>
|
|
25
|
+
* <p>Unit is in beats per minute with a resolution of 1</p>
|
|
26
|
+
*/
|
|
27
|
+
lightModerateLimit: number;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* The fields in the above table are in the order of LSO to MSO. Where LSO = Least Significant Octet and MSO = Most Significant Octet.
|
|
31
|
+
* @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.characteristic.five_zone_heart_rate_limits.xml | Five Zone Heart Rate Limits}
|
|
32
|
+
*/
|
|
33
|
+
export declare class FiveZoneHeartRateLimitsImpl implements FiveZoneHeartRateLimits {
|
|
34
|
+
static readonly UUID_PREFIX = 10891;
|
|
35
|
+
static readonly TYPE_NAME = "org.bluetooth.characteristic.five_zone_heart_rate_limits";
|
|
36
|
+
static readonly NAME = "Five Zone Heart Rate Limits";
|
|
37
|
+
/** Parse from a DataView into {@link FiveZoneHeartRateLimits}. */
|
|
38
|
+
static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): FiveZoneHeartRateLimitsImpl;
|
|
39
|
+
readonly hardLimit: number;
|
|
40
|
+
readonly hardMaximumLimit: number;
|
|
41
|
+
readonly lightLightLimit: number;
|
|
42
|
+
readonly lightModerateLimit: number;
|
|
43
|
+
constructor(fiveZoneHeartRateLimits: FiveZoneHeartRateLimits);
|
|
44
|
+
}
|
|
45
|
+
/** Parse from a DataView into {@link FiveZoneHeartRateLimits}. */
|
|
46
|
+
export declare function fiveZoneHeartRateLimitsFromDataView(dataView: DataView | DataViewReader, indexStart?: number): FiveZoneHeartRateLimits;
|
|
47
|
+
//# sourceMappingURL=five-zone-heart-rate-limits.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"five-zone-heart-rate-limits.d.ts","sourceRoot":"","sources":["../../../src/packages/bluetools/five-zone-heart-rate-limits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAK5E,qKAAqK;AACrK,MAAM,WAAW,uBAAuB;IACpC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,qBAAa,2BAA4B,YAAW,uBAAuB;IACvE,gBAAuB,WAAW,SAAU;IAC5C,gBAAuB,SAAS,8DAA8D;IAC9F,gBAAuB,IAAI,iCAAiC;IAE5D,kEAAkE;WACpD,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B;IAI7H,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,gBAAgB,EAAE,MAAM,CAAC;IACzC,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,kBAAkB,EAAE,MAAM,CAAC;gBAExB,uBAAuB,EAAE,uBAAuB;CAMtE;AAED,kEAAkE;AAClE,wBAAgB,mCAAmC,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE,UAAU,GAAE,MAAU,GAAG,uBAAuB,CAOxI"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
import { dataViewReader } from "./data-view-reader.mjs";
|
|
6
|
+
const _FiveZoneHeartRateLimitsImpl = class _FiveZoneHeartRateLimitsImpl {
|
|
7
|
+
/** Parse from a DataView into {@link FiveZoneHeartRateLimits}. */
|
|
8
|
+
static fromDataView(dataView, indexStart) {
|
|
9
|
+
return new _FiveZoneHeartRateLimitsImpl(fiveZoneHeartRateLimitsFromDataView(dataView, indexStart));
|
|
10
|
+
}
|
|
11
|
+
hardLimit;
|
|
12
|
+
hardMaximumLimit;
|
|
13
|
+
lightLightLimit;
|
|
14
|
+
lightModerateLimit;
|
|
15
|
+
constructor(fiveZoneHeartRateLimits) {
|
|
16
|
+
this.hardLimit = fiveZoneHeartRateLimits.hardLimit;
|
|
17
|
+
this.hardMaximumLimit = fiveZoneHeartRateLimits.hardMaximumLimit;
|
|
18
|
+
this.lightLightLimit = fiveZoneHeartRateLimits.lightLightLimit;
|
|
19
|
+
this.lightModerateLimit = fiveZoneHeartRateLimits.lightModerateLimit;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
__name(_FiveZoneHeartRateLimitsImpl, "FiveZoneHeartRateLimitsImpl");
|
|
23
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "UUID_PREFIX", 10891);
|
|
24
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "TYPE_NAME", "org.bluetooth.characteristic.five_zone_heart_rate_limits");
|
|
25
|
+
__publicField(_FiveZoneHeartRateLimitsImpl, "NAME", "Five Zone Heart Rate Limits");
|
|
26
|
+
let FiveZoneHeartRateLimitsImpl = _FiveZoneHeartRateLimitsImpl;
|
|
27
|
+
function fiveZoneHeartRateLimitsFromDataView(dataView, indexStart = 0) {
|
|
28
|
+
const $dvr = dataViewReader(dataView, indexStart);
|
|
29
|
+
const lightLightLimit = $dvr.uint8();
|
|
30
|
+
const lightModerateLimit = $dvr.uint8();
|
|
31
|
+
const hardLimit = $dvr.uint8();
|
|
32
|
+
const hardMaximumLimit = $dvr.uint8();
|
|
33
|
+
return { hardLimit, hardMaximumLimit, lightLightLimit, lightModerateLimit };
|
|
34
|
+
}
|
|
35
|
+
__name(fiveZoneHeartRateLimitsFromDataView, "fiveZoneHeartRateLimitsFromDataView");
|
|
36
|
+
export {
|
|
37
|
+
FiveZoneHeartRateLimitsImpl,
|
|
38
|
+
fiveZoneHeartRateLimitsFromDataView
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=five-zone-heart-rate-limits.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/five-zone-heart-rate-limits.ts"],
|
|
4
|
+
"mappings": ";;;;AAAA,SAA8B,sBAAsB;AAqC7C,MAAM,+BAAN,MAAM,6BAA+D;AAAA;AAAA,EAMxE,OAAc,aAAa,UAAqC,YAA8D;AAC1H,WAAO,IAAI,6BAA4B,oCAAoC,UAAU,UAAU,CAAC;AAAA,EACpG;AAAA,EAEgB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,yBAAkD;AACjE,SAAK,YAAY,wBAAwB;AACzC,SAAK,mBAAmB,wBAAwB;AAChD,SAAK,kBAAkB,wBAAwB;AAC/C,SAAK,qBAAqB,wBAAwB;AAAA,EACtD;AACJ;AArB4E;AACxE,cADS,8BACc,eAAc;AACrC,cAFS,8BAEc,aAAY;AACnC,cAHS,8BAGc,QAAO;AAH3B,IAAM,8BAAN;AAwBA,SAAS,oCAAoC,UAAqC,aAAqB,GAA4B;AACtI,QAAM,OAAuB,eAAe,UAAU,UAAU;AAChE,QAAM,kBAAkB,KAAK,MAAM;AACnC,QAAM,qBAAqB,KAAK,MAAM;AACtC,QAAM,YAAY,KAAK,MAAM;AAC7B,QAAM,mBAAmB,KAAK,MAAM;AACpC,SAAO,EAAE,WAAW,kBAAkB,iBAAiB,mBAAmB;AAC9E;AAPgB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
var gatt_characteristic_presentation_format_exports = {};
|
|
23
|
+
__export(gatt_characteristic_presentation_format_exports, {
|
|
24
|
+
GattCharacteristicPresentationFormatImpl: () => GattCharacteristicPresentationFormatImpl,
|
|
25
|
+
gattCharacteristicPresentationFormatFromDataView: () => gattCharacteristicPresentationFormatFromDataView
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(gatt_characteristic_presentation_format_exports);
|
|
28
|
+
var import_data_view_reader = require("./data-view-reader.cjs");
|
|
29
|
+
const _GattCharacteristicPresentationFormatImpl = class _GattCharacteristicPresentationFormatImpl {
|
|
30
|
+
/** Parse from a DataView into {@link GattCharacteristicPresentationFormat}. */
|
|
31
|
+
static fromDataView(dataView, indexStart) {
|
|
32
|
+
return new _GattCharacteristicPresentationFormatImpl(gattCharacteristicPresentationFormatFromDataView(dataView, indexStart));
|
|
33
|
+
}
|
|
34
|
+
description;
|
|
35
|
+
exponent;
|
|
36
|
+
format;
|
|
37
|
+
namespace;
|
|
38
|
+
unit;
|
|
39
|
+
constructor(gattCharacteristicPresentationFormat) {
|
|
40
|
+
this.description = gattCharacteristicPresentationFormat.description;
|
|
41
|
+
this.exponent = gattCharacteristicPresentationFormat.exponent;
|
|
42
|
+
this.format = gattCharacteristicPresentationFormat.format;
|
|
43
|
+
this.namespace = gattCharacteristicPresentationFormat.namespace;
|
|
44
|
+
this.unit = gattCharacteristicPresentationFormat.unit;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
__name(_GattCharacteristicPresentationFormatImpl, "GattCharacteristicPresentationFormatImpl");
|
|
48
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "UUID_PREFIX", 10500);
|
|
49
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "TYPE_NAME", "org.bluetooth.descriptor.gatt.characteristic_presentation_format");
|
|
50
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "NAME", "Characteristic Presentation Format");
|
|
51
|
+
let GattCharacteristicPresentationFormatImpl = _GattCharacteristicPresentationFormatImpl;
|
|
52
|
+
function gattCharacteristicPresentationFormatFromDataView(dataView, indexStart = 0) {
|
|
53
|
+
const $dvr = (0, import_data_view_reader.dataViewReader)(dataView, indexStart);
|
|
54
|
+
const format = $dvr.uint8();
|
|
55
|
+
const exponent = $dvr.int8();
|
|
56
|
+
const unit = $dvr.uint16();
|
|
57
|
+
const namespace = $dvr.uint8();
|
|
58
|
+
const description = $dvr.uint16();
|
|
59
|
+
return { description, exponent, format, namespace, unit };
|
|
60
|
+
}
|
|
61
|
+
__name(gattCharacteristicPresentationFormatFromDataView, "gattCharacteristicPresentationFormatFromDataView");
|
|
62
|
+
//# sourceMappingURL=gatt-characteristic-presentation-format.cjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/gatt-characteristic-presentation-format.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8BAAoD;AAgF7C,MAAM,4CAAN,MAAM,0CAAyF;AAAA;AAAA,EAMlG,OAAc,aAAa,UAAqC,YAA2E;AACvI,WAAO,IAAI,0CAAyC,iDAAiD,UAAU,UAAU,CAAC;AAAA,EAC9H;AAAA,EAEgB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,sCAA4E;AAC3F,SAAK,cAAc,qCAAqC;AACxD,SAAK,WAAW,qCAAqC;AACrD,SAAK,SAAS,qCAAqC;AACnD,SAAK,YAAY,qCAAqC;AACtD,SAAK,OAAO,qCAAqC;AAAA,EACrD;AACJ;AAvBsG;AAClG,cADS,2CACc,eAAc;AACrC,cAFS,2CAEc,aAAY;AACnC,cAHS,2CAGc,QAAO;AAH3B,IAAM,2CAAN;AA0BA,SAAS,iDAAiD,UAAqC,aAAqB,GAAyC;AAChK,QAAM,WAAuB,wCAAe,UAAU,UAAU;AAChE,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,WAAW,KAAK,KAAK;AAC3B,QAAM,OAAO,KAAK,OAAO;AACzB,QAAM,YAAY,KAAK,MAAM;AAC7B,QAAM,cAAc,KAAK,OAAO;AAChC,SAAO,EAAE,aAAa,UAAU,QAAQ,WAAW,KAAK;AAC5D;AARgB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { type DataViewReader } from "./data-view-reader.js";
|
|
2
|
+
/**
|
|
3
|
+
* <p>The Characteristic Presentation Format descriptor defines the format of the Characteristic Value.</p>
|
|
4
|
+
* <p>When encoding an IPv4 address, the uint32 Format type is used.</p>
|
|
5
|
+
* <p>When encoding an IPv6 address, the uint128 Format type is used.</p>
|
|
6
|
+
* <p>When encoding a Bluetooth address (BD_ADDR), the uint48 Format type is used.</p>
|
|
7
|
+
* <p>For a Characteristic Value of 23 and an Exponent of 2, the actual value is 2300</p>
|
|
8
|
+
* <p>For a Characteristi Value of 3892 and an Exponent of -3, the actual value is 3.892</p>
|
|
9
|
+
* <p>One or more Characteristic Presentation Format descriptors may be present. If multiple of these descriptors are present, then a Aggregate Formate descriptor is present. This descriptor is read only and does not require authentication or authorization to read. This descriptor is composed of five parts: format, exponent, unit, name space and description. The Format field determines how a single value contained in the Characteristic Value is formatted. The Exponent field is used with interger data types to determine how the Characteristic Value is furhter formatted. The actual value = Characteristic Value * 10^Exponent.</p>
|
|
10
|
+
*/
|
|
11
|
+
export interface GattCharacteristicPresentationFormat {
|
|
12
|
+
/**
|
|
13
|
+
* <p>Format: `16bit`</p>
|
|
14
|
+
* <p>The Description is an enumerated value from the organization identified by the Name Space field.</p>
|
|
15
|
+
*/
|
|
16
|
+
description: number;
|
|
17
|
+
/** <p>Format: `sint8`</p> */
|
|
18
|
+
exponent: number;
|
|
19
|
+
/**
|
|
20
|
+
* <p>Format: `8bit`</p>
|
|
21
|
+
* <p>Minimum: 0</p>
|
|
22
|
+
* <p>Maximum: 27</p>
|
|
23
|
+
* | Key | Description |
|
|
24
|
+
* | --- | ------------------------------ |
|
|
25
|
+
* | 0 | Reserved For Future Use |
|
|
26
|
+
* | 1 | Boolean |
|
|
27
|
+
* | 2 | unsigned 2-bit integer |
|
|
28
|
+
* | 3 | unsigned 4-bit integer |
|
|
29
|
+
* | 4 | unsigned 8-bit integer |
|
|
30
|
+
* | 5 | unsigned 12-bit integer |
|
|
31
|
+
* | 6 | unsigned 16-bit integer |
|
|
32
|
+
* | 7 | unsigned 24-bit integer |
|
|
33
|
+
* | 8 | unsigned 32-bit integer |
|
|
34
|
+
* | 9 | unsigned 48-bit integer |
|
|
35
|
+
* | 10 | unsigned 64-bit integer |
|
|
36
|
+
* | 11 | unsigned 128-bit integer |
|
|
37
|
+
* | 12 | signed 8-bit integer |
|
|
38
|
+
* | 13 | signed 12-bit integer |
|
|
39
|
+
* | 14 | signed 16-bit integer |
|
|
40
|
+
* | 15 | signed 24-bit integer |
|
|
41
|
+
* | 16 | signed 32-bit integer |
|
|
42
|
+
* | 17 | signed 48-bit integer |
|
|
43
|
+
* | 18 | signed 64-bit integer |
|
|
44
|
+
* | 19 | signed 128-bit integer |
|
|
45
|
+
* | 20 | IEEE-754 32-bit floating point |
|
|
46
|
+
* | 21 | IEEE-754 64-bit floating point |
|
|
47
|
+
* | 22 | IEEE-11073 16-bit SFLOAT |
|
|
48
|
+
* | 23 | IEEE-11073 32-bit FLOAT |
|
|
49
|
+
* | 24 | IEEE-20601 format |
|
|
50
|
+
* | 25 | UTF-8 string |
|
|
51
|
+
* | 26 | UTF-16 string |
|
|
52
|
+
* | 27 | Opaque Structure |
|
|
53
|
+
*
|
|
54
|
+
* <p>Reserved: 28 to 255</p>
|
|
55
|
+
*/
|
|
56
|
+
format: number;
|
|
57
|
+
/**
|
|
58
|
+
* <p>Format: `8bit`</p>
|
|
59
|
+
* <p>The Name Space field is used to indentify the organization that is responsible for defining the enumerations for the description field.</p>
|
|
60
|
+
* <p>Minimum: 0</p>
|
|
61
|
+
* <p>Maximum: 1</p>
|
|
62
|
+
* | Key | Description |
|
|
63
|
+
* | --- | ------------------------------ |
|
|
64
|
+
* | 1 | Bluetooth SIG Assigned Numbers |
|
|
65
|
+
*
|
|
66
|
+
* <p>Reserved for future use: 2 to 255</p>
|
|
67
|
+
*/
|
|
68
|
+
namespace: number;
|
|
69
|
+
/**
|
|
70
|
+
* <p>Format: `uint16`</p>
|
|
71
|
+
* <p>The Unit is a UUID.</p>
|
|
72
|
+
*/
|
|
73
|
+
unit: number;
|
|
74
|
+
}
|
|
75
|
+
/** @see {@link https://raw.githubusercontent.com/oesmith/gatt-xml/refs/heads/master/org.bluetooth.descriptor.gatt.characteristic_presentation_format.xml | Gatt Characteristic Presentation Format} */
|
|
76
|
+
export declare class GattCharacteristicPresentationFormatImpl implements GattCharacteristicPresentationFormat {
|
|
77
|
+
static readonly UUID_PREFIX = 10500;
|
|
78
|
+
static readonly TYPE_NAME = "org.bluetooth.descriptor.gatt.characteristic_presentation_format";
|
|
79
|
+
static readonly NAME = "Characteristic Presentation Format";
|
|
80
|
+
/** Parse from a DataView into {@link GattCharacteristicPresentationFormat}. */
|
|
81
|
+
static fromDataView(dataView: DataView | DataViewReader, indexStart?: number | undefined): GattCharacteristicPresentationFormatImpl;
|
|
82
|
+
readonly description: number;
|
|
83
|
+
readonly exponent: number;
|
|
84
|
+
readonly format: number;
|
|
85
|
+
readonly namespace: number;
|
|
86
|
+
readonly unit: number;
|
|
87
|
+
constructor(gattCharacteristicPresentationFormat: GattCharacteristicPresentationFormat);
|
|
88
|
+
}
|
|
89
|
+
/** Parse from a DataView into {@link GattCharacteristicPresentationFormat}. */
|
|
90
|
+
export declare function gattCharacteristicPresentationFormatFromDataView(dataView: DataView | DataViewReader, indexStart?: number): GattCharacteristicPresentationFormat;
|
|
91
|
+
//# sourceMappingURL=gatt-characteristic-presentation-format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatt-characteristic-presentation-format.d.ts","sourceRoot":"","sources":["../../../src/packages/bluetools/gatt-characteristic-presentation-format.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,uBAAuB,CAAC;AAK5E;;;;;;;;GAQG;AACH,MAAM,WAAW,oCAAoC;IACjD;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;;;;OAUG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,uMAAuM;AACvM,qBAAa,wCAAyC,YAAW,oCAAoC;IACjG,gBAAuB,WAAW,SAAU;IAC5C,gBAAuB,SAAS,sEAAsE;IACtG,gBAAuB,IAAI,wCAAwC;IAEnE,+EAA+E;WACjE,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,wCAAwC;IAI1I,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,IAAI,EAAE,MAAM,CAAC;gBAEV,oCAAoC,EAAE,oCAAoC;CAOhG;AAED,+EAA+E;AAC/E,wBAAgB,gDAAgD,CAAC,QAAQ,EAAE,QAAQ,GAAG,cAAc,EAAE,UAAU,GAAE,MAAU,GAAG,oCAAoC,CAQlK"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
import { dataViewReader } from "./data-view-reader.mjs";
|
|
6
|
+
const _GattCharacteristicPresentationFormatImpl = class _GattCharacteristicPresentationFormatImpl {
|
|
7
|
+
/** Parse from a DataView into {@link GattCharacteristicPresentationFormat}. */
|
|
8
|
+
static fromDataView(dataView, indexStart) {
|
|
9
|
+
return new _GattCharacteristicPresentationFormatImpl(gattCharacteristicPresentationFormatFromDataView(dataView, indexStart));
|
|
10
|
+
}
|
|
11
|
+
description;
|
|
12
|
+
exponent;
|
|
13
|
+
format;
|
|
14
|
+
namespace;
|
|
15
|
+
unit;
|
|
16
|
+
constructor(gattCharacteristicPresentationFormat) {
|
|
17
|
+
this.description = gattCharacteristicPresentationFormat.description;
|
|
18
|
+
this.exponent = gattCharacteristicPresentationFormat.exponent;
|
|
19
|
+
this.format = gattCharacteristicPresentationFormat.format;
|
|
20
|
+
this.namespace = gattCharacteristicPresentationFormat.namespace;
|
|
21
|
+
this.unit = gattCharacteristicPresentationFormat.unit;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
__name(_GattCharacteristicPresentationFormatImpl, "GattCharacteristicPresentationFormatImpl");
|
|
25
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "UUID_PREFIX", 10500);
|
|
26
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "TYPE_NAME", "org.bluetooth.descriptor.gatt.characteristic_presentation_format");
|
|
27
|
+
__publicField(_GattCharacteristicPresentationFormatImpl, "NAME", "Characteristic Presentation Format");
|
|
28
|
+
let GattCharacteristicPresentationFormatImpl = _GattCharacteristicPresentationFormatImpl;
|
|
29
|
+
function gattCharacteristicPresentationFormatFromDataView(dataView, indexStart = 0) {
|
|
30
|
+
const $dvr = dataViewReader(dataView, indexStart);
|
|
31
|
+
const format = $dvr.uint8();
|
|
32
|
+
const exponent = $dvr.int8();
|
|
33
|
+
const unit = $dvr.uint16();
|
|
34
|
+
const namespace = $dvr.uint8();
|
|
35
|
+
const description = $dvr.uint16();
|
|
36
|
+
return { description, exponent, format, namespace, unit };
|
|
37
|
+
}
|
|
38
|
+
__name(gattCharacteristicPresentationFormatFromDataView, "gattCharacteristicPresentationFormatFromDataView");
|
|
39
|
+
export {
|
|
40
|
+
GattCharacteristicPresentationFormatImpl,
|
|
41
|
+
gattCharacteristicPresentationFormatFromDataView
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=gatt-characteristic-presentation-format.mjs.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/gatt-characteristic-presentation-format.ts"],
|
|
4
|
+
"mappings": ";;;;AAAA,SAA8B,sBAAsB;AAgF7C,MAAM,4CAAN,MAAM,0CAAyF;AAAA;AAAA,EAMlG,OAAc,aAAa,UAAqC,YAA2E;AACvI,WAAO,IAAI,0CAAyC,iDAAiD,UAAU,UAAU,CAAC;AAAA,EAC9H;AAAA,EAEgB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,YAAY,sCAA4E;AAC3F,SAAK,cAAc,qCAAqC;AACxD,SAAK,WAAW,qCAAqC;AACrD,SAAK,SAAS,qCAAqC;AACnD,SAAK,YAAY,qCAAqC;AACtD,SAAK,OAAO,qCAAqC;AAAA,EACrD;AACJ;AAvBsG;AAClG,cADS,2CACc,eAAc;AACrC,cAFS,2CAEc,aAAY;AACnC,cAHS,2CAGc,QAAO;AAH3B,IAAM,2CAAN;AA0BA,SAAS,iDAAiD,UAAqC,aAAqB,GAAyC;AAChK,QAAM,OAAuB,eAAe,UAAU,UAAU;AAChE,QAAM,SAAS,KAAK,MAAM;AAC1B,QAAM,WAAW,KAAK,KAAK;AAC3B,QAAM,OAAO,KAAK,OAAO;AACzB,QAAM,YAAY,KAAK,MAAM;AAC7B,QAAM,cAAc,KAAK,OAAO;AAChC,SAAO,EAAE,aAAa,UAAU,QAAQ,WAAW,KAAK;AAC5D;AARgB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/gatt.cjs
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
var gatt_exports = {};
|
|
21
|
+
__export(gatt_exports, {
|
|
22
|
+
gattCharacteristicName: () => gattCharacteristicName,
|
|
23
|
+
gattDescriptorName: () => gattDescriptorName,
|
|
24
|
+
gattServiceName: () => gattServiceName,
|
|
25
|
+
isGattCharacteristicName: () => isGattCharacteristicName,
|
|
26
|
+
isGattDescriptorName: () => isGattDescriptorName,
|
|
27
|
+
isGattServiceName: () => isGattServiceName
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(gatt_exports);
|
|
30
|
+
var import_assigned = require("./assigned.cjs");
|
|
31
|
+
const gattGuards = /* @__PURE__ */ __name((name, uuids, ids) => {
|
|
32
|
+
const guardName = `isGatt${name}Name`;
|
|
33
|
+
const isGuard = {
|
|
34
|
+
[guardName]: (value) => typeof value === "string" && typeof uuids[value] === "string"
|
|
35
|
+
}[guardName];
|
|
36
|
+
const converterName = `isGatt${name}Name`;
|
|
37
|
+
const converter = {
|
|
38
|
+
[converterName]: (idOrName) => {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
if (idOrName == null) {
|
|
41
|
+
return void 0;
|
|
42
|
+
}
|
|
43
|
+
if (isGuard(idOrName)) {
|
|
44
|
+
return idOrName;
|
|
45
|
+
}
|
|
46
|
+
if (typeof idOrName === "string") {
|
|
47
|
+
return (_a = Object.entries(uuids).find(([_name, uuid]) => uuid === idOrName)) == null ? void 0 : _a.at(0);
|
|
48
|
+
}
|
|
49
|
+
return (_b = Object.entries(ids).find(([_name, id]) => id === idOrName)) == null ? void 0 : _b.at(0);
|
|
50
|
+
}
|
|
51
|
+
}[converterName];
|
|
52
|
+
return { isGuard, converter };
|
|
53
|
+
}, "gattGuards");
|
|
54
|
+
const { isGuard: isGattServiceName, converter: gattServiceName } = gattGuards("Service", import_assigned.GATT_SERVICE_UUID, import_assigned.GATT_SERVICE_ID);
|
|
55
|
+
const { isGuard: isGattCharacteristicName, converter: gattCharacteristicName } = gattGuards("Characteristic", import_assigned.GATT_CHARACTERISTIC_UUID, import_assigned.GATT_CHARACTERISTIC_ID);
|
|
56
|
+
const { isGuard: isGattDescriptorName, converter: gattDescriptorName } = gattGuards("Descriptor", import_assigned.GATT_DESCRIPTOR_UUID, import_assigned.GATT_DESCRIPTOR_ID);
|
|
57
|
+
//# sourceMappingURL=gatt.cjs.map
|
package/gatt.cjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/gatt.ts"],
|
|
4
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA2N;AAE3N,MAAM,aAAa,wBAClB,MACA,OACA,QAC8H;AAC9H,QAAM,YAAY,SAAS,IAAI;AAC/B,QAAM,UAA0C;AAAA,IAC/C,CAAC,SAAS,GAAG,CAAC,UAA+B,OAAO,UAAU,YAAY,OAAO,MAAM,KAAU,MAAM;AAAA,EACxG,EAAE,SAAS;AACX,QAAM,gBAAgB,SAAS,IAAI;AACnC,QAAM,YAA6E;AAAA,IAClF,CAAC,aAAa,GAAG,CAAC,aAAgE;AAbpF;AAcG,UAAI,YAAY,MAAM;AACrB,eAAO;AAAA,MACR;AACA,UAAI,QAAQ,QAAQ,GAAG;AACtB,eAAO;AAAA,MACR;AACA,UAAI,OAAO,aAAa,UAAU;AACjC,gBAAO,YAAO,QAAQ,KAAK,EAAE,KAAK,CAAC,CAAE,OAAO,IAAK,MAAM,SAAS,QAAQ,MAAjE,mBAAoE,GAAG;AAAA,MAC/E;AACA,cAAO,YAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAE,OAAO,EAAG,MAAM,OAAO,QAAQ,MAA3D,mBAA8D,GAAG;AAAA,IACzE;AAAA,EACD,EAAE,aAAa;AACf,SAAO,EAAE,SAAS,UAAU;AAC7B,GAzBmB;AA2BZ,MAAM,EAAE,SAAS,mBAAmB,WAAW,gBAAgB,IAAI,WAA4B,WAAW,mCAAmB,+BAAe;AAC5I,MAAM,EAAE,SAAS,0BAA0B,WAAW,uBAAuB,IAAI,WAAmC,kBAAkB,0CAA0B,sCAAsB;AACtL,MAAM,EAAE,SAAS,sBAAsB,WAAW,mBAAmB,IAAI,WAA+B,cAAc,sCAAsB,kCAAkB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|
package/gatt.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const isGattServiceName: (value: unknown) => value is "alert_notification" | "automation_io" | "battery_service" | "blood_pressure" | "body_composition" | "bond_management" | "continuous_glucose_monitoring" | "current_time" | "cycling_power" | "cycling_speed_and_cadence" | "device_information" | "environmental_sensing" | "fitness_machine" | "generic_access" | "generic_attribute" | "glucose" | "health_thermometer" | "heart_rate" | "http_proxy" | "human_interface_device" | "immediate_alert" | "indoor_positioning" | "internet_protocol_support" | "link_loss" | "location_and_navigation" | "mesh_provisioning" | "mesh_proxy" | "next_dst_change" | "object_transfer" | "phone_alert_status" | "pulse_oximeter" | "reconnection_configuration" | "reference_time_update" | "running_speed_and_cadence" | "scan_parameters" | "transport_discovery" | "tx_power" | "user_data" | "weight_scale", gattServiceName: (idOrName: string | number | null | undefined) => "alert_notification" | "automation_io" | "battery_service" | "blood_pressure" | "body_composition" | "bond_management" | "continuous_glucose_monitoring" | "current_time" | "cycling_power" | "cycling_speed_and_cadence" | "device_information" | "environmental_sensing" | "fitness_machine" | "generic_access" | "generic_attribute" | "glucose" | "health_thermometer" | "heart_rate" | "http_proxy" | "human_interface_device" | "immediate_alert" | "indoor_positioning" | "internet_protocol_support" | "link_loss" | "location_and_navigation" | "mesh_provisioning" | "mesh_proxy" | "next_dst_change" | "object_transfer" | "phone_alert_status" | "pulse_oximeter" | "reconnection_configuration" | "reference_time_update" | "running_speed_and_cadence" | "scan_parameters" | "transport_discovery" | "tx_power" | "user_data" | "weight_scale" | undefined;
|
|
2
|
+
export declare const isGattCharacteristicName: (value: unknown) => value is "string" | "current_time" | "aerobic_heart_rate_lower_limit" | "aerobic_heart_rate_upper_limit" | "aerobic_threshold" | "age" | "aggregate" | "alert_category_id" | "alert_category_id_bit_mask" | "alert_level" | "alert_notification_control_point" | "alert_status" | "altitude" | "anaerobic_heart_rate_lower_limit" | "anaerobic_heart_rate_upper_limit" | "anaerobic_threshold" | "analog" | "analog_output" | "apparent_wind_direction" | "apparent_wind_speed" | "barometric_pressure_trend" | "battery_level" | "battery_level_state" | "battery_power_state" | "blood_pressure_feature" | "blood_pressure_measurement" | "body_composition_feature" | "body_composition_measurement" | "body_sensor_location" | "bond_management_control_point" | "bond_management_feature" | "boot_keyboard_input_report" | "boot_keyboard_output_report" | "boot_mouse_input_report" | "cgm_feature" | "cgm_measurement" | "cgm_session_run_time" | "cgm_session_start_time" | "cgm_specific_ops_control_point" | "cgm_status" | "cross_trainer_data" | "csc_feature" | "csc_measurement" | "cycling_power_control_point" | "cycling_power_feature" | "cycling_power_measurement" | "cycling_power_vector" | "database_change_increment" | "date_of_birth" | "date_of_threshold_assessment" | "date_time" | "date_utc" | "day_date_time" | "day_of_week" | "descriptor_value_changed" | "dew_point" | "digital" | "digital_output" | "dst_offset" | "elevation" | "email_address" | "exact_time_100" | "exact_time_256" | "fat_burn_heart_rate_lower_limit" | "fat_burn_heart_rate_upper_limit" | "firmware_revision_string" | "first_name" | "fitness_machine_control_point" | "fitness_machine_feature" | "fitness_machine_status" | "five_zone_heart_rate_limits" | "floor_number" | "gap.appearance" | "gap.central_address_resolution_support" | "gap.device_name" | "gap.peripheral_preferred_connection_parameters" | "gap.peripheral_privacy_flag" | "gap.reconnection_address" | "gatt.service_changed" | "gender" | "glucose_feature" | "glucose_measurement" | "glucose_measurement_context" | "gust_factor" | "hardware_revision_string" | "heart_rate_control_point" | "heart_rate_max" | "heart_rate_measurement" | "heat_index" | "height" | "hid_control_point" | "hid_information" | "hip_circumference" | "http_control_point" | "http_entity_body" | "http_headers" | "http_status_code" | "https_security" | "humidity" | "ieee_11073-20601_regulatory_certification_data_list" | "indoor_bike_data" | "indoor_positioning_configuration" | "intermediate_cuff_pressure" | "intermediate_temperature" | "irradiance" | "language" | "last_name" | "latitude" | "ln_control_point" | "ln_feature" | "local_east_coordinate.xml" | "local_north_coordinate" | "local_time_information" | "location_and_speed" | "location_name" | "longitude" | "magnetic_declination" | "magnetic_flux_density_2D" | "magnetic_flux_density_3D" | "manufacturer_name_string" | "maximum_recommended_heart_rate" | "measurement_interval" | "model_number_string" | "navigation" | "network_availability" | "new_alert" | "object_action_control_point" | "object_changed" | "object_first_created" | "object_id" | "object_last_modified" | "object_list_control_point" | "object_list_filter" | "object_name" | "object_properties" | "object_size" | "object_type" | "ots_feature" | "plx_continuous_measurement" | "plx_features" | "plx_spot_check_measurement" | "pnp_id" | "pollen_concentration" | "position_2d" | "position_3d" | "position_quality" | "pressure" | "protocol_mode" | "pulse_oximetry_control_point" | "rainfall" | "record_access_control_point" | "reference_time_information" | "removable" | "report" | "report_map" | "resolvable_private_address_only" | "resting_heart_rate" | "ringer_control_point" | "ringer_setting" | "rower_data" | "rsc_feature" | "rsc_measurement" | "sc_control_point" | "scan_interval_window" | "scan_refresh" | "scientific_temperature_celsius" | "secondary_time_zone" | "sensor_location" | "serial_number_string" | "service_required" | "software_revision_string" | "sport_type_for_aerobic_and_anaerobic_thresholds" | "stair_climber_data" | "step_climber_data" | "supported_heart_rate_range" | "supported_inclination_range" | "supported_new_alert_category" | "supported_power_range" | "supported_resistance_level_range" | "supported_speed_range" | "supported_unread_alert_category" | "system_id" | "tds_control_point" | "temperature" | "temperature_celsius" | "temperature_fahrenheit" | "temperature_measurement" | "temperature_type" | "three_zone_heart_rate_limits" | "time_accuracy" | "time_broadcast" | "time_source" | "time_update_control_point" | "time_update_state" | "time_with_dst" | "time_zone" | "training_status" | "treadmill_data" | "true_wind_direction" | "true_wind_speed" | "two_zone_heart_rate_limit" | "tx_power_level" | "uncertainty" | "unread_alert_status" | "uri" | "user_control_point" | "user_index" | "uv_index" | "vo2_max" | "waist_circumference" | "weight" | "weight_measurement" | "weight_scale_feature" | "wind_chill", gattCharacteristicName: (idOrName: string | number | null | undefined) => "string" | "current_time" | "aerobic_heart_rate_lower_limit" | "aerobic_heart_rate_upper_limit" | "aerobic_threshold" | "age" | "aggregate" | "alert_category_id" | "alert_category_id_bit_mask" | "alert_level" | "alert_notification_control_point" | "alert_status" | "altitude" | "anaerobic_heart_rate_lower_limit" | "anaerobic_heart_rate_upper_limit" | "anaerobic_threshold" | "analog" | "analog_output" | "apparent_wind_direction" | "apparent_wind_speed" | "barometric_pressure_trend" | "battery_level" | "battery_level_state" | "battery_power_state" | "blood_pressure_feature" | "blood_pressure_measurement" | "body_composition_feature" | "body_composition_measurement" | "body_sensor_location" | "bond_management_control_point" | "bond_management_feature" | "boot_keyboard_input_report" | "boot_keyboard_output_report" | "boot_mouse_input_report" | "cgm_feature" | "cgm_measurement" | "cgm_session_run_time" | "cgm_session_start_time" | "cgm_specific_ops_control_point" | "cgm_status" | "cross_trainer_data" | "csc_feature" | "csc_measurement" | "cycling_power_control_point" | "cycling_power_feature" | "cycling_power_measurement" | "cycling_power_vector" | "database_change_increment" | "date_of_birth" | "date_of_threshold_assessment" | "date_time" | "date_utc" | "day_date_time" | "day_of_week" | "descriptor_value_changed" | "dew_point" | "digital" | "digital_output" | "dst_offset" | "elevation" | "email_address" | "exact_time_100" | "exact_time_256" | "fat_burn_heart_rate_lower_limit" | "fat_burn_heart_rate_upper_limit" | "firmware_revision_string" | "first_name" | "fitness_machine_control_point" | "fitness_machine_feature" | "fitness_machine_status" | "five_zone_heart_rate_limits" | "floor_number" | "gap.appearance" | "gap.central_address_resolution_support" | "gap.device_name" | "gap.peripheral_preferred_connection_parameters" | "gap.peripheral_privacy_flag" | "gap.reconnection_address" | "gatt.service_changed" | "gender" | "glucose_feature" | "glucose_measurement" | "glucose_measurement_context" | "gust_factor" | "hardware_revision_string" | "heart_rate_control_point" | "heart_rate_max" | "heart_rate_measurement" | "heat_index" | "height" | "hid_control_point" | "hid_information" | "hip_circumference" | "http_control_point" | "http_entity_body" | "http_headers" | "http_status_code" | "https_security" | "humidity" | "ieee_11073-20601_regulatory_certification_data_list" | "indoor_bike_data" | "indoor_positioning_configuration" | "intermediate_cuff_pressure" | "intermediate_temperature" | "irradiance" | "language" | "last_name" | "latitude" | "ln_control_point" | "ln_feature" | "local_east_coordinate.xml" | "local_north_coordinate" | "local_time_information" | "location_and_speed" | "location_name" | "longitude" | "magnetic_declination" | "magnetic_flux_density_2D" | "magnetic_flux_density_3D" | "manufacturer_name_string" | "maximum_recommended_heart_rate" | "measurement_interval" | "model_number_string" | "navigation" | "network_availability" | "new_alert" | "object_action_control_point" | "object_changed" | "object_first_created" | "object_id" | "object_last_modified" | "object_list_control_point" | "object_list_filter" | "object_name" | "object_properties" | "object_size" | "object_type" | "ots_feature" | "plx_continuous_measurement" | "plx_features" | "plx_spot_check_measurement" | "pnp_id" | "pollen_concentration" | "position_2d" | "position_3d" | "position_quality" | "pressure" | "protocol_mode" | "pulse_oximetry_control_point" | "rainfall" | "record_access_control_point" | "reference_time_information" | "removable" | "report" | "report_map" | "resolvable_private_address_only" | "resting_heart_rate" | "ringer_control_point" | "ringer_setting" | "rower_data" | "rsc_feature" | "rsc_measurement" | "sc_control_point" | "scan_interval_window" | "scan_refresh" | "scientific_temperature_celsius" | "secondary_time_zone" | "sensor_location" | "serial_number_string" | "service_required" | "software_revision_string" | "sport_type_for_aerobic_and_anaerobic_thresholds" | "stair_climber_data" | "step_climber_data" | "supported_heart_rate_range" | "supported_inclination_range" | "supported_new_alert_category" | "supported_power_range" | "supported_resistance_level_range" | "supported_speed_range" | "supported_unread_alert_category" | "system_id" | "tds_control_point" | "temperature" | "temperature_celsius" | "temperature_fahrenheit" | "temperature_measurement" | "temperature_type" | "three_zone_heart_rate_limits" | "time_accuracy" | "time_broadcast" | "time_source" | "time_update_control_point" | "time_update_state" | "time_with_dst" | "time_zone" | "training_status" | "treadmill_data" | "true_wind_direction" | "true_wind_speed" | "two_zone_heart_rate_limit" | "tx_power_level" | "uncertainty" | "unread_alert_status" | "uri" | "user_control_point" | "user_index" | "uv_index" | "vo2_max" | "waist_circumference" | "weight" | "weight_measurement" | "weight_scale_feature" | "wind_chill" | undefined;
|
|
3
|
+
export declare const isGattDescriptorName: (value: unknown) => value is "es_configuration" | "es_measurement" | "es_trigger_setting" | "external_report_reference" | "gatt.characteristic_aggregate_format" | "gatt.characteristic_extended_properties" | "gatt.characteristic_presentation_format" | "gatt.characteristic_user_description" | "gatt.client_characteristic_configuration" | "gatt.server_characteristic_configuration" | "number_of_digitals" | "report_reference" | "time_trigger_setting" | "valid_range" | "value_trigger_setting", gattDescriptorName: (idOrName: string | number | null | undefined) => "es_configuration" | "es_measurement" | "es_trigger_setting" | "external_report_reference" | "gatt.characteristic_aggregate_format" | "gatt.characteristic_extended_properties" | "gatt.characteristic_presentation_format" | "gatt.characteristic_user_description" | "gatt.client_characteristic_configuration" | "gatt.server_characteristic_configuration" | "number_of_digitals" | "report_reference" | "time_trigger_setting" | "valid_range" | "value_trigger_setting" | undefined;
|
|
4
|
+
//# sourceMappingURL=gatt.d.ts.map
|
package/gatt.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gatt.d.ts","sourceRoot":"","sources":["../../../src/packages/bluetools/gatt.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAiB,iBAAiB,UAvBnB,OAAO,KAAK,KAAK,g0BAAK,EAuBU,eAAe,aAvBD,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,60BAuB8C,CAAC;AACrJ,eAAO,MAAiB,wBAAwB,UAxB1B,OAAO,KAAK,KAAK,21JAAK,EAwBiB,sBAAsB,aAxBf,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,w2JAwBwF,CAAC;AAC/L,eAAO,MAAiB,oBAAoB,UAzBtB,OAAO,KAAK,KAAK,idAAK,EAyBa,kBAAkB,aAzBP,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,8dAyBgE,CAAC"}
|
package/gatt.mjs
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
|
+
import { GATT_CHARACTERISTIC_ID, GATT_CHARACTERISTIC_UUID, GATT_DESCRIPTOR_ID, GATT_DESCRIPTOR_UUID, GATT_SERVICE_ID, GATT_SERVICE_UUID } from "./assigned.mjs";
|
|
4
|
+
const gattGuards = /* @__PURE__ */ __name((name, uuids, ids) => {
|
|
5
|
+
const guardName = `isGatt${name}Name`;
|
|
6
|
+
const isGuard = {
|
|
7
|
+
[guardName]: (value) => typeof value === "string" && typeof uuids[value] === "string"
|
|
8
|
+
}[guardName];
|
|
9
|
+
const converterName = `isGatt${name}Name`;
|
|
10
|
+
const converter = {
|
|
11
|
+
[converterName]: (idOrName) => {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
if (idOrName == null) {
|
|
14
|
+
return void 0;
|
|
15
|
+
}
|
|
16
|
+
if (isGuard(idOrName)) {
|
|
17
|
+
return idOrName;
|
|
18
|
+
}
|
|
19
|
+
if (typeof idOrName === "string") {
|
|
20
|
+
return (_a = Object.entries(uuids).find(([_name, uuid]) => uuid === idOrName)) == null ? void 0 : _a.at(0);
|
|
21
|
+
}
|
|
22
|
+
return (_b = Object.entries(ids).find(([_name, id]) => id === idOrName)) == null ? void 0 : _b.at(0);
|
|
23
|
+
}
|
|
24
|
+
}[converterName];
|
|
25
|
+
return { isGuard, converter };
|
|
26
|
+
}, "gattGuards");
|
|
27
|
+
const { isGuard: isGattServiceName, converter: gattServiceName } = gattGuards("Service", GATT_SERVICE_UUID, GATT_SERVICE_ID);
|
|
28
|
+
const { isGuard: isGattCharacteristicName, converter: gattCharacteristicName } = gattGuards("Characteristic", GATT_CHARACTERISTIC_UUID, GATT_CHARACTERISTIC_ID);
|
|
29
|
+
const { isGuard: isGattDescriptorName, converter: gattDescriptorName } = gattGuards("Descriptor", GATT_DESCRIPTOR_UUID, GATT_DESCRIPTOR_ID);
|
|
30
|
+
export {
|
|
31
|
+
gattCharacteristicName,
|
|
32
|
+
gattDescriptorName,
|
|
33
|
+
gattServiceName,
|
|
34
|
+
isGattCharacteristicName,
|
|
35
|
+
isGattDescriptorName,
|
|
36
|
+
isGattServiceName
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=gatt.mjs.map
|
package/gatt.mjs.map
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/packages/bluetools/gatt.ts"],
|
|
4
|
+
"mappings": ";;AAAA,SAAS,wBAAwB,0BAA0B,oBAAoB,sBAAsB,iBAAiB,yBAAqG;AAE3N,MAAM,aAAa,wBAClB,MACA,OACA,QAC8H;AAC9H,QAAM,YAAY,SAAS,IAAI;AAC/B,QAAM,UAA0C;AAAA,IAC/C,CAAC,SAAS,GAAG,CAAC,UAA+B,OAAO,UAAU,YAAY,OAAO,MAAM,KAAU,MAAM;AAAA,EACxG,EAAE,SAAS;AACX,QAAM,gBAAgB,SAAS,IAAI;AACnC,QAAM,YAA6E;AAAA,IAClF,CAAC,aAAa,GAAG,CAAC,aAAgE;AAbpF;AAcG,UAAI,YAAY,MAAM;AACrB,eAAO;AAAA,MACR;AACA,UAAI,QAAQ,QAAQ,GAAG;AACtB,eAAO;AAAA,MACR;AACA,UAAI,OAAO,aAAa,UAAU;AACjC,gBAAO,YAAO,QAAQ,KAAK,EAAE,KAAK,CAAC,CAAE,OAAO,IAAK,MAAM,SAAS,QAAQ,MAAjE,mBAAoE,GAAG;AAAA,MAC/E;AACA,cAAO,YAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAE,OAAO,EAAG,MAAM,OAAO,QAAQ,MAA3D,mBAA8D,GAAG;AAAA,IACzE;AAAA,EACD,EAAE,aAAa;AACf,SAAO,EAAE,SAAS,UAAU;AAC7B,GAzBmB;AA2BZ,MAAM,EAAE,SAAS,mBAAmB,WAAW,gBAAgB,IAAI,WAA4B,WAAW,mBAAmB,eAAe;AAC5I,MAAM,EAAE,SAAS,0BAA0B,WAAW,uBAAuB,IAAI,WAAmC,kBAAkB,0BAA0B,sBAAsB;AACtL,MAAM,EAAE,SAAS,sBAAsB,WAAW,mBAAmB,IAAI,WAA+B,cAAc,sBAAsB,kBAAkB;",
|
|
5
|
+
"names": []
|
|
6
|
+
}
|