@ovok/native 0.4.10 → 0.4.11
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/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +24 -12
- package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js +24 -12
- package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map +1 -1
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +0 -25
- package/lib/typescript/commonjs/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts +0 -25
- package/lib/typescript/module/src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.d.ts.map +1 -1
- package/package.json +1 -1
package/lib/commonjs/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -31,26 +31,38 @@ var _standardGattProfile = require("./standard-gatt.profile.js");
|
|
|
31
31
|
* at all, so it is read at byte 7 in one shape and byte 14 in the other, and each shape
|
|
32
32
|
* declares the length it needs. A device that reports no pulse still decodes, because the
|
|
33
33
|
* flags value it sends selects a case that never looks for one.
|
|
34
|
+
*
|
|
35
|
+
* Bit 3 (user id, 0x08) and bit 4 (measurement status, 0x10) follow the pulse, so neither
|
|
36
|
+
* moves it. Each shape is declared again with those bits set. Bit 0 (kPa) stays undeclared.
|
|
34
37
|
*/
|
|
38
|
+
/** Bit 2 set, bit 1 clear: the pulse follows the mean pressure. */
|
|
39
|
+
const pulseAfterMeanPressure = {
|
|
40
|
+
fields: [(0, _standardGattProfile.littleEndian)("heartRate", [7, 8], "bpm", "sfloat")],
|
|
41
|
+
minLengthBytes: 9
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/** Bit 1 and bit 2 set: the pulse follows the seven-byte timestamp. */
|
|
45
|
+
const pulseAfterTimestamp = {
|
|
46
|
+
fields: [(0, _standardGattProfile.littleEndian)("heartRate", [14, 15], "bpm", "sfloat")],
|
|
47
|
+
minLengthBytes: 16
|
|
48
|
+
};
|
|
35
49
|
const standardBloodPressureDevice = params => (0, _standardGattProfile.declareProfile)(params, {
|
|
36
50
|
service: "1810",
|
|
37
51
|
characteristic: "2a35",
|
|
38
52
|
minLengthBytes: 7,
|
|
39
53
|
measurementTypeKey: _core.MeasurementTypeKey.bloodPressure,
|
|
40
|
-
/** mmHg,
|
|
41
|
-
selectors: ["00", "02", "04", "06"],
|
|
54
|
+
/** mmHg. 0x08, 0x10 and 0x18 repeat each shape with bit 3, bit 4, or both. */
|
|
55
|
+
selectors: ["00", "08", "10", "18", "02", "0a", "12", "1a", "04", "0c", "14", "1c", "06", "0e", "16", "1e"],
|
|
42
56
|
fields: [(0, _standardGattProfile.littleEndian)("systolic", [1, 2], "mmHg", "sfloat"), (0, _standardGattProfile.littleEndian)("diastolic", [3, 4], "mmHg", "sfloat")],
|
|
43
57
|
optionalFields: {
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
minLengthBytes: 16
|
|
53
|
-
}
|
|
58
|
+
"04": pulseAfterMeanPressure,
|
|
59
|
+
"0c": pulseAfterMeanPressure,
|
|
60
|
+
"14": pulseAfterMeanPressure,
|
|
61
|
+
"1c": pulseAfterMeanPressure,
|
|
62
|
+
"06": pulseAfterTimestamp,
|
|
63
|
+
"0e": pulseAfterTimestamp,
|
|
64
|
+
"16": pulseAfterTimestamp,
|
|
65
|
+
"1e": pulseAfterTimestamp
|
|
54
66
|
}
|
|
55
67
|
});
|
|
56
68
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","require","_standardGattProfile","standardBloodPressureDevice","params","declareProfile","service","characteristic","
|
|
1
|
+
{"version":3,"names":["_core","require","_standardGattProfile","pulseAfterMeanPressure","fields","littleEndian","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","declareProfile","service","characteristic","measurementTypeKey","MeasurementTypeKey","bloodPressure","selectors","optionalFields","exports","standardThermometerDevice","temperature","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","scale","decimals","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","name","byteIndexes","encoding","unit"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAD,OAAA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,sBAAsB,GAAG;EAC7BC,MAAM,EAAE,CAAC,IAAAC,iCAAY,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC5DC,cAAc,EAAE;AAClB,CAAC;;AAED;AACA,MAAMC,mBAAmB,GAAG;EAC1BH,MAAM,EAAE,CAAC,IAAAC,iCAAY,EAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;EAC9DC,cAAc,EAAE;AAClB,CAAC;AAED,MAAME,2BAA2B,GAC/BC,MAA4B,IAE5B,IAAAC,mCAAc,EAACD,MAAM,EAAE;EACrBE,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,MAAM;EACtBN,cAAc,EAAE,CAAC;EACjBO,kBAAkB,EAAEC,wBAAkB,CAACC,aAAa;EAEpD;EACAC,SAAS,EAAE,CACT,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,IAAI,CACL;EACDZ,MAAM,EAAE,CACN,IAAAC,iCAAY,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAClD,IAAAA,iCAAY,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CACpD;EACDY,cAAc,EAAE;IACd,IAAI,EAAEd,sBAAsB;IAC5B,IAAI,EAAEA,sBAAsB;IAC5B,IAAI,EAAEA,sBAAsB;IAC5B,IAAI,EAAEA,sBAAsB;IAC5B,IAAI,EAAEI,mBAAmB;IACzB,IAAI,EAAEA,mBAAmB;IACzB,IAAI,EAAEA,mBAAmB;IACzB,IAAI,EAAEA;EACR;AACF,CAAC,CAAC;;AAEJ;AAAAW,OAAA,CAAAV,2BAAA,GAAAA,2BAAA;AACA,MAAMW,yBAAyB,GAC7BV,MAA4B,IAE5B,IAAAC,mCAAc,EAACD,MAAM,EAAE;EACrBE,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,MAAM;EACtBN,cAAc,EAAE,CAAC;EACjBO,kBAAkB,EAAEC,wBAAkB,CAACM,WAAW;EAElD;EACAJ,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;EACvBZ,MAAM,EAAE,CAAC,IAAAC,iCAAY,EAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC;AACjE,CAAC,CAAC;;AAEJ;AAAAa,OAAA,CAAAC,yBAAA,GAAAA,yBAAA;AACA,MAAME,mBAAmB,GAAG,KAAK;;AAEjC;AACA;AACA;AACA;AACA;AACA,MAAMC,yBAAyB,GAC7Bb,MAA4B,IAE5B,IAAAC,mCAAc,EAACD,MAAM,EAAE;EACrBE,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,MAAM;EACtBN,cAAc,EAAE,CAAC;EACjBO,kBAAkB,EAAEC,wBAAkB,CAACS,UAAU;EAEjD;EACAP,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC;EACvBZ,MAAM,EAAE,CACN;IACE,GAAG,IAAAC,iCAAY,EAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC;IACnDmB,KAAK,EAAEH,mBAAmB;IAC1BI,QAAQ,EAAE;EACZ,CAAC;AAEL,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AALAP,OAAA,CAAAI,yBAAA,GAAAA,yBAAA;AAMA,MAAMI,2BAA2B,GAC/BjB,MAA4B,IAE5B,IAAAC,mCAAc,EAACD,MAAM,EAAE;EACrBE,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,MAAM;EACtBN,cAAc,EAAE,CAAC;EACjBO,kBAAkB,EAAEC,wBAAkB,CAACa,oBAAoB;EAC3DX,SAAS,EAAE,CAAC,IAAI,CAAC;EACjBZ,MAAM,EAAE,CACN,IAAAC,iCAAY,EAAC,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,EAClD,IAAAA,iCAAY,EAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC;AAEtD,CAAC,CAAC;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AANAa,OAAA,CAAAQ,2BAAA,GAAAA,2BAAA;AAOA,MAAME,uBAAuB,GAC3BnB,MAA4B,IAE5B,IAAAC,mCAAc,EAACD,MAAM,EAAE;EACrBE,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE,MAAM;EACtBN,cAAc,EAAE,CAAC;EACjBO,kBAAkB,EAAEC,wBAAkB,CAACe,SAAS;EAChDb,SAAS,EAAE,CAAC,IAAI,CAAC;EACjBZ,MAAM,EAAE,CACN;IAAE0B,IAAI,EAAE,WAAW;IAAEC,WAAW,EAAE,CAAC,CAAC,CAAC;IAAEC,QAAQ,EAAE,MAAM;IAAEC,IAAI,EAAE;EAAM,CAAC;AAE1E,CAAC,CAAC;AAACf,OAAA,CAAAU,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js
CHANGED
|
@@ -28,26 +28,38 @@ import { declareProfile, littleEndian } from "./standard-gatt.profile.js";
|
|
|
28
28
|
* at all, so it is read at byte 7 in one shape and byte 14 in the other, and each shape
|
|
29
29
|
* declares the length it needs. A device that reports no pulse still decodes, because the
|
|
30
30
|
* flags value it sends selects a case that never looks for one.
|
|
31
|
+
*
|
|
32
|
+
* Bit 3 (user id, 0x08) and bit 4 (measurement status, 0x10) follow the pulse, so neither
|
|
33
|
+
* moves it. Each shape is declared again with those bits set. Bit 0 (kPa) stays undeclared.
|
|
31
34
|
*/
|
|
35
|
+
/** Bit 2 set, bit 1 clear: the pulse follows the mean pressure. */
|
|
36
|
+
const pulseAfterMeanPressure = {
|
|
37
|
+
fields: [littleEndian("heartRate", [7, 8], "bpm", "sfloat")],
|
|
38
|
+
minLengthBytes: 9
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/** Bit 1 and bit 2 set: the pulse follows the seven-byte timestamp. */
|
|
42
|
+
const pulseAfterTimestamp = {
|
|
43
|
+
fields: [littleEndian("heartRate", [14, 15], "bpm", "sfloat")],
|
|
44
|
+
minLengthBytes: 16
|
|
45
|
+
};
|
|
32
46
|
const standardBloodPressureDevice = params => declareProfile(params, {
|
|
33
47
|
service: "1810",
|
|
34
48
|
characteristic: "2a35",
|
|
35
49
|
minLengthBytes: 7,
|
|
36
50
|
measurementTypeKey: MeasurementTypeKey.bloodPressure,
|
|
37
|
-
/** mmHg,
|
|
38
|
-
selectors: ["00", "02", "04", "06"],
|
|
51
|
+
/** mmHg. 0x08, 0x10 and 0x18 repeat each shape with bit 3, bit 4, or both. */
|
|
52
|
+
selectors: ["00", "08", "10", "18", "02", "0a", "12", "1a", "04", "0c", "14", "1c", "06", "0e", "16", "1e"],
|
|
39
53
|
fields: [littleEndian("systolic", [1, 2], "mmHg", "sfloat"), littleEndian("diastolic", [3, 4], "mmHg", "sfloat")],
|
|
40
54
|
optionalFields: {
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
minLengthBytes: 16
|
|
50
|
-
}
|
|
55
|
+
"04": pulseAfterMeanPressure,
|
|
56
|
+
"0c": pulseAfterMeanPressure,
|
|
57
|
+
"14": pulseAfterMeanPressure,
|
|
58
|
+
"1c": pulseAfterMeanPressure,
|
|
59
|
+
"06": pulseAfterTimestamp,
|
|
60
|
+
"0e": pulseAfterTimestamp,
|
|
61
|
+
"16": pulseAfterTimestamp,
|
|
62
|
+
"1e": pulseAfterTimestamp
|
|
51
63
|
}
|
|
52
64
|
});
|
|
53
65
|
|
package/lib/module/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","standardBloodPressureDevice","params","service","characteristic","
|
|
1
|
+
{"version":3,"names":["MeasurementTypeKey","declareProfile","littleEndian","pulseAfterMeanPressure","fields","minLengthBytes","pulseAfterTimestamp","standardBloodPressureDevice","params","service","characteristic","measurementTypeKey","bloodPressure","selectors","optionalFields","standardThermometerDevice","temperature","WEIGHT_KG_PER_COUNT","standardWeightScaleDevice","bodyWeight","scale","decimals","standardPulseOximeterDevice","bloodOxygenPulseRate","standardHeartRateDevice","heartRate","name","byteIndexes","encoding","unit"],"sourceRoot":"../../../../../../../src","sources":["modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,30 +1,5 @@
|
|
|
1
1
|
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
2
|
import { StandardDeviceParams } from "./standard-gatt.profile";
|
|
3
|
-
/**
|
|
4
|
-
* Declarations for the Bluetooth SIG vital-signs profiles.
|
|
5
|
-
*
|
|
6
|
-
* These are the profiles a compliant patient device implements, and their layouts come from
|
|
7
|
-
* the public specification rather than from reading a vendor's app, so they can be written
|
|
8
|
-
* down exactly instead of inferred.
|
|
9
|
-
*
|
|
10
|
-
* The advertised name stays the caller's, because the SDK matches a scan result by name and
|
|
11
|
-
* every vendor names its hardware differently. A product declares the profile and supplies
|
|
12
|
-
* the name its own hardware advertises.
|
|
13
|
-
*
|
|
14
|
-
* Values are little-endian, as the specification requires. Only the layouts using each
|
|
15
|
-
* catalog's canonical unit are declared: a device reporting kPa, Fahrenheit or pounds needs
|
|
16
|
-
* a conversion a declaration cannot express, and leaving those flag values undeclared means
|
|
17
|
-
* such a device yields no reading rather than one that is quietly wrong.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Blood Pressure Service 0x1810, Blood Pressure Measurement 0x2A35.
|
|
21
|
-
*
|
|
22
|
-
* The pressures sit at bytes 1-4 whatever the flags say. The pulse rate sits behind two of
|
|
23
|
-
* them: bit 1 puts a seven-byte timestamp in front of it and bit 2 says whether it is there
|
|
24
|
-
* at all, so it is read at byte 7 in one shape and byte 14 in the other, and each shape
|
|
25
|
-
* declares the length it needs. A device that reports no pulse still decodes, because the
|
|
26
|
-
* flags value it sends selects a case that never looks for one.
|
|
27
|
-
*/
|
|
28
3
|
declare const standardBloodPressureDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
29
4
|
/** Health Thermometer Service 0x1809, Temperature Measurement 0x2A1C. */
|
|
30
5
|
declare const standardThermometerDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAGL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAGL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAwCC,CAAC;AAEL,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAKL;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAgBC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAWC,CAAC;AAEL;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|
|
@@ -1,30 +1,5 @@
|
|
|
1
1
|
import { CustomDeviceDefinition } from "../../../types/custom-device-definition";
|
|
2
2
|
import { StandardDeviceParams } from "./standard-gatt.profile";
|
|
3
|
-
/**
|
|
4
|
-
* Declarations for the Bluetooth SIG vital-signs profiles.
|
|
5
|
-
*
|
|
6
|
-
* These are the profiles a compliant patient device implements, and their layouts come from
|
|
7
|
-
* the public specification rather than from reading a vendor's app, so they can be written
|
|
8
|
-
* down exactly instead of inferred.
|
|
9
|
-
*
|
|
10
|
-
* The advertised name stays the caller's, because the SDK matches a scan result by name and
|
|
11
|
-
* every vendor names its hardware differently. A product declares the profile and supplies
|
|
12
|
-
* the name its own hardware advertises.
|
|
13
|
-
*
|
|
14
|
-
* Values are little-endian, as the specification requires. Only the layouts using each
|
|
15
|
-
* catalog's canonical unit are declared: a device reporting kPa, Fahrenheit or pounds needs
|
|
16
|
-
* a conversion a declaration cannot express, and leaving those flag values undeclared means
|
|
17
|
-
* such a device yields no reading rather than one that is quietly wrong.
|
|
18
|
-
*/
|
|
19
|
-
/**
|
|
20
|
-
* Blood Pressure Service 0x1810, Blood Pressure Measurement 0x2A35.
|
|
21
|
-
*
|
|
22
|
-
* The pressures sit at bytes 1-4 whatever the flags say. The pulse rate sits behind two of
|
|
23
|
-
* them: bit 1 puts a seven-byte timestamp in front of it and bit 2 says whether it is there
|
|
24
|
-
* at all, so it is read at byte 7 in one shape and byte 14 in the other, and each shape
|
|
25
|
-
* declares the length it needs. A device that reports no pulse still decodes, because the
|
|
26
|
-
* flags value it sends selects a case that never looks for one.
|
|
27
|
-
*/
|
|
28
3
|
declare const standardBloodPressureDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
29
4
|
/** Health Thermometer Service 0x1809, Temperature Measurement 0x2A1C. */
|
|
30
5
|
declare const standardThermometerDevice: (params: StandardDeviceParams) => CustomDeviceDefinition;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAGL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"standard-gatt.devices.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/modules/bt-management/services/devices/standard-gatt/standard-gatt.devices.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAEjF,OAAO,EAGL,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AA2CjC,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAwCC,CAAC;AAEL,yEAAyE;AACzE,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAKL;;;;GAIG;AACH,QAAA,MAAM,yBAAyB,GAC7B,QAAQ,oBAAoB,KAC3B,sBAgBC,CAAC;AAEL;;;;;GAKG;AACH,QAAA,MAAM,2BAA2B,GAC/B,QAAQ,oBAAoB,KAC3B,sBAWC,CAAC;AAEL;;;;;;GAMG;AACH,QAAA,MAAM,uBAAuB,GAC3B,QAAQ,oBAAoB,KAC3B,sBAUC,CAAC;AAEL,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,EACvB,2BAA2B,EAC3B,yBAAyB,EACzB,yBAAyB,GAC1B,CAAC"}
|