jooby-codec 1.6.0 → 1.7.0
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/dist/Command.d.ts +1 -0
- package/dist/Command.js +3 -2
- package/dist/Command.js.map +1 -1
- package/dist/CommandBinaryBuffer.d.ts +129 -5
- package/dist/CommandBinaryBuffer.js +257 -0
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/CorrectTime2000.d.ts +1 -6
- package/dist/commands/downlink/CorrectTime2000.js +2 -8
- package/dist/commands/downlink/CorrectTime2000.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/ExAbsCurrentMC.d.ts +1 -6
- package/dist/commands/downlink/ExAbsCurrentMC.js +3 -8
- package/dist/commands/downlink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +5 -5
- package/dist/commands/downlink/GetArchiveDaysMC.js +3 -4
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/downlink/GetArchiveEvents.d.ts +39 -0
- package/dist/commands/downlink/GetArchiveEvents.js +58 -0
- package/dist/commands/downlink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +5 -10
- package/dist/commands/downlink/GetArchiveHoursMC.js +3 -9
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/downlink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/downlink/GetCurrentMC.js +3 -3
- package/dist/commands/downlink/GetCurrentMC.js.map +1 -1
- package/dist/commands/downlink/GetLmicVersion.d.ts +25 -0
- package/dist/commands/downlink/GetLmicVersion.js +41 -0
- package/dist/commands/downlink/GetLmicVersion.js.map +1 -0
- package/dist/commands/downlink/GetParameter.d.ts +37 -0
- package/dist/commands/downlink/GetParameter.js +64 -0
- package/dist/commands/downlink/GetParameter.js.map +1 -0
- package/dist/commands/downlink/NewStatus.d.ts +1 -1
- package/dist/commands/downlink/NewStatus.js +3 -3
- package/dist/commands/downlink/NewStatus.js.map +1 -1
- package/dist/commands/downlink/SetParameter.d.ts +6 -56
- package/dist/commands/downlink/SetParameter.js +45 -105
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/SetTime2000.d.ts +1 -6
- package/dist/commands/downlink/SetTime2000.js +2 -8
- package/dist/commands/downlink/SetTime2000.js.map +1 -1
- package/dist/commands/downlink/SoftRestart.d.ts +1 -1
- package/dist/commands/downlink/SoftRestart.js +3 -3
- package/dist/commands/downlink/SoftRestart.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +3 -0
- package/dist/commands/downlink/index.js +3 -0
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/CorrectTime2000.d.ts +1 -1
- package/dist/commands/uplink/CorrectTime2000.js +3 -3
- package/dist/commands/uplink/CorrectTime2000.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +3 -5
- package/dist/commands/uplink/DataDayMC.js +4 -3
- package/dist/commands/uplink/DataDayMC.js.map +1 -1
- package/dist/commands/uplink/DataHourMC.d.ts +3 -2
- package/dist/commands/uplink/DataHourMC.js +4 -3
- package/dist/commands/uplink/DataHourMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/ExAbsCurrentMC.js +4 -3
- package/dist/commands/uplink/ExAbsCurrentMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsDayMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsDayMC.js +4 -3
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -1
- package/dist/commands/uplink/ExAbsHourMC.d.ts +3 -2
- package/dist/commands/uplink/ExAbsHourMC.js +4 -3
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveDaysMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveDaysMC.js +4 -3
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -1
- package/dist/commands/uplink/GetArchiveEvents.d.ts +48 -0
- package/dist/commands/uplink/GetArchiveEvents.js +105 -0
- package/dist/commands/uplink/GetArchiveEvents.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +3 -2
- package/dist/commands/uplink/GetArchiveHoursMC.js +4 -3
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -1
- package/dist/commands/uplink/GetCurrentMC.d.ts +1 -1
- package/dist/commands/uplink/GetCurrentMC.js +4 -3
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -1
- package/dist/commands/uplink/GetLmicVersion.d.ts +46 -0
- package/dist/commands/uplink/GetLmicVersion.js +90 -0
- package/dist/commands/uplink/GetLmicVersion.js.map +1 -0
- package/dist/commands/uplink/GetParameter.d.ts +30 -0
- package/dist/commands/uplink/GetParameter.js +91 -0
- package/dist/commands/uplink/GetParameter.js.map +1 -0
- package/dist/commands/uplink/LastEvent.d.ts +5 -76
- package/dist/commands/uplink/LastEvent.js +67 -115
- package/dist/commands/uplink/LastEvent.js.map +1 -1
- package/dist/commands/uplink/NewEvent.d.ts +35 -7
- package/dist/commands/uplink/NewEvent.js +96 -20
- package/dist/commands/uplink/NewEvent.js.map +1 -1
- package/dist/commands/uplink/NewStatus.d.ts +1 -1
- package/dist/commands/uplink/NewStatus.js +4 -3
- package/dist/commands/uplink/NewStatus.js.map +1 -1
- package/dist/commands/uplink/SetTime2000.d.ts +1 -1
- package/dist/commands/uplink/SetTime2000.js +3 -3
- package/dist/commands/uplink/SetTime2000.js.map +1 -1
- package/dist/commands/uplink/SoftRestart.d.ts +1 -1
- package/dist/commands/uplink/SoftRestart.js +3 -3
- package/dist/commands/uplink/SoftRestart.js.map +1 -1
- package/dist/commands/uplink/Time2000.d.ts +5 -5
- package/dist/commands/uplink/Time2000.js +6 -7
- package/dist/commands/uplink/Time2000.js.map +1 -1
- package/dist/commands/uplink/index.d.ts +3 -0
- package/dist/commands/uplink/index.js +3 -0
- package/dist/commands/uplink/index.js.map +1 -1
- package/dist/constants/{directionTypes.js → directions.js} +1 -1
- package/dist/constants/directions.js.map +1 -0
- package/dist/constants/events.d.ts +30 -4
- package/dist/constants/events.js +30 -4
- package/dist/constants/events.js.map +1 -1
- package/dist/constants/hardwareTypes.d.ts +2 -2
- package/dist/constants/hardwareTypes.js +2 -2
- package/dist/constants/index.d.ts +1 -1
- package/dist/constants/index.js +1 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/utils/message.js +2 -2
- package/dist/utils/message.js.map +1 -1
- package/dist/utils/time.d.ts +20 -3
- package/dist/utils/time.js +2 -2
- package/dist/utils/time.js.map +1 -1
- package/package.json +1 -1
- package/dist/constants/directionTypes.js.map +0 -1
- /package/dist/constants/{directionTypes.d.ts → directions.d.ts} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import { IChannelHours } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { TTime2000 } from '../../utils/time.js';
|
|
3
4
|
/**
|
|
4
5
|
* GetArchiveHoursMC command parameters
|
|
5
6
|
*
|
|
@@ -13,7 +14,7 @@ import { IChannelHours } from '../../CommandBinaryBuffer.js';
|
|
|
13
14
|
*/
|
|
14
15
|
interface IUplinkGetArchiveHoursMCParameters {
|
|
15
16
|
channelList: Array<IChannelHours>;
|
|
16
|
-
startTime:
|
|
17
|
+
startTime: TTime2000;
|
|
17
18
|
hours: number;
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
@@ -61,7 +62,7 @@ declare class GetArchiveHoursMC extends Command {
|
|
|
61
62
|
constructor(parameters: IUplinkGetArchiveHoursMCParameters);
|
|
62
63
|
static readonly id = 26;
|
|
63
64
|
static readonly directionType = 2;
|
|
64
|
-
static readonly
|
|
65
|
+
static readonly hasParameters = true;
|
|
65
66
|
static fromBytes(data: Uint8Array): GetArchiveHoursMC;
|
|
66
67
|
toBytes(): Uint8Array;
|
|
67
68
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
-
import { UPLINK } from '../../constants/
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x1a;
|
|
5
|
-
const COMMAND_TITLE = 'GET_ARCHIVE_HOURS';
|
|
6
5
|
// date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
|
|
7
6
|
// max hours diff - 7 (3 bit value)
|
|
8
7
|
// 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
@@ -53,10 +52,12 @@ class GetArchiveHoursMC extends Command {
|
|
|
53
52
|
this.parameters = parameters;
|
|
54
53
|
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
55
54
|
}
|
|
55
|
+
// data - only body (without header)
|
|
56
56
|
static fromBytes(data) {
|
|
57
57
|
const buffer = new CommandBinaryBuffer(data);
|
|
58
58
|
return new GetArchiveHoursMC(buffer.getChannelsValuesWithHourDiff());
|
|
59
59
|
}
|
|
60
|
+
// returns full message - header with body
|
|
60
61
|
toBytes() {
|
|
61
62
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
62
63
|
const { hours, startTime, channelList } = this.parameters;
|
|
@@ -66,6 +67,6 @@ class GetArchiveHoursMC extends Command {
|
|
|
66
67
|
}
|
|
67
68
|
GetArchiveHoursMC.id = COMMAND_ID;
|
|
68
69
|
GetArchiveHoursMC.directionType = UPLINK;
|
|
69
|
-
GetArchiveHoursMC.
|
|
70
|
+
GetArchiveHoursMC.hasParameters = true;
|
|
70
71
|
export default GetArchiveHoursMC;
|
|
71
72
|
//# sourceMappingURL=GetArchiveHoursMC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAsBrD,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,0EAA0E;AAC1E,mCAAmC;AACnC,0FAA0F;AAC1F,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAA8C;QAC/D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAoC;QAG/D,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAUD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAExD,MAAM,CAAC,6BAA6B,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAtBe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,MAAM,CAAC;AAEvB,+BAAa,GAAG,IAAI,CAAC;AAsBzC,eAAe,iBAAiB,CAAC"}
|
|
@@ -32,8 +32,8 @@ declare class GetCurrentMC extends Command {
|
|
|
32
32
|
constructor(parameters: IGetCurrentMCParameters);
|
|
33
33
|
static id: number;
|
|
34
34
|
static readonly directionType = 2;
|
|
35
|
-
static title: string;
|
|
36
35
|
static readonly examples: TCommandExampleList;
|
|
36
|
+
static readonly hasParameters = true;
|
|
37
37
|
static fromBytes(data: Uint8Array): GetCurrentMC;
|
|
38
38
|
toBytes(): Uint8Array;
|
|
39
39
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import Command from '../../Command.js';
|
|
2
2
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
-
import { UPLINK } from '../../constants/
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x18;
|
|
5
|
-
const COMMAND_TITLE = 'GET_CURRENT_MC';
|
|
6
5
|
// 2 bytes for 7 channelList + (7 channelList * 5 byte for current value of channel)
|
|
7
6
|
const COMMAND_BODY_MAX_SIZE = 37;
|
|
8
7
|
const examples = [
|
|
@@ -66,6 +65,7 @@ class GetCurrentMC extends Command {
|
|
|
66
65
|
this.parameters = parameters;
|
|
67
66
|
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
68
67
|
}
|
|
68
|
+
// data - only body (without header)
|
|
69
69
|
static fromBytes(data) {
|
|
70
70
|
const parameters = { channelList: [] };
|
|
71
71
|
const buffer = new CommandBinaryBuffer(data);
|
|
@@ -76,6 +76,7 @@ class GetCurrentMC extends Command {
|
|
|
76
76
|
}));
|
|
77
77
|
return new GetCurrentMC(parameters);
|
|
78
78
|
}
|
|
79
|
+
// returns full message - header with body
|
|
79
80
|
toBytes() {
|
|
80
81
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
81
82
|
const { channelList } = this.parameters;
|
|
@@ -86,7 +87,7 @@ class GetCurrentMC extends Command {
|
|
|
86
87
|
}
|
|
87
88
|
GetCurrentMC.id = COMMAND_ID;
|
|
88
89
|
GetCurrentMC.directionType = UPLINK;
|
|
89
|
-
GetCurrentMC.title = COMMAND_TITLE;
|
|
90
90
|
GetCurrentMC.examples = examples;
|
|
91
|
+
GetCurrentMC.hasParameters = true;
|
|
91
92
|
export default GetCurrentMC;
|
|
92
93
|
//# sourceMappingURL=GetCurrentMC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMC.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAoC,MAAM,8BAA8B,CAAC;AAChF,OAAO,EAAC,MAAM,EAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"GetCurrentMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetCurrentMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import * as bitSet from '../../utils/bitSet.js';
|
|
3
|
+
interface ILmicCapabilities extends bitSet.TBooleanObject {
|
|
4
|
+
isMulticastSupported: boolean;
|
|
5
|
+
isFragmentedDataSupported: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* GetLmicVersion command parameters
|
|
9
|
+
*/
|
|
10
|
+
interface IUplinkGetLmicVersionParameters {
|
|
11
|
+
capabilities: ILmicCapabilities;
|
|
12
|
+
version: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Uplink command.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```js
|
|
19
|
+
* import GetLmicVersion from 'jooby-codec/commands/uplink/GetLmicVersion';
|
|
20
|
+
*
|
|
21
|
+
* const parameters = {
|
|
22
|
+
* version: 34,
|
|
23
|
+
* capabilities: {
|
|
24
|
+
* isMulticastSupported: true,
|
|
25
|
+
* isFragmentedDataSupported: true
|
|
26
|
+
* }
|
|
27
|
+
* };
|
|
28
|
+
* const command = new GetLmicVersion(parameters);
|
|
29
|
+
*
|
|
30
|
+
* // output command binary in hex representation
|
|
31
|
+
* console.log(command.toHex());
|
|
32
|
+
* // 1f 02 02 03 22
|
|
33
|
+
* ```
|
|
34
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetLmicVersion.md#response)
|
|
35
|
+
*/
|
|
36
|
+
declare class GetLmicVersion extends Command {
|
|
37
|
+
parameters: IUplinkGetLmicVersionParameters;
|
|
38
|
+
constructor(parameters: IUplinkGetLmicVersionParameters);
|
|
39
|
+
static readonly id = 543;
|
|
40
|
+
static readonly directionType = 2;
|
|
41
|
+
static readonly examples: TCommandExampleList;
|
|
42
|
+
static readonly hasParameters = true;
|
|
43
|
+
static fromBytes(data: Uint8Array): GetLmicVersion;
|
|
44
|
+
toBytes(): Uint8Array;
|
|
45
|
+
}
|
|
46
|
+
export default GetLmicVersion;
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import BinaryBuffer from '../../BinaryBuffer.js';
|
|
3
|
+
import * as bitSet from '../../utils/bitSet.js';
|
|
4
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
5
|
+
const COMMAND_ID = 0x021f;
|
|
6
|
+
const COMMAND_BODY_SIZE = 2;
|
|
7
|
+
const lmicCapabilitiesBitMask = {
|
|
8
|
+
isMulticastSupported: 2 ** 0,
|
|
9
|
+
isFragmentedDataSupported: 2 ** 1
|
|
10
|
+
};
|
|
11
|
+
const examples = [
|
|
12
|
+
{
|
|
13
|
+
name: 'version: 12, support only multicast',
|
|
14
|
+
parameters: {
|
|
15
|
+
version: 12,
|
|
16
|
+
capabilities: {
|
|
17
|
+
isMulticastSupported: true,
|
|
18
|
+
isFragmentedDataSupported: false
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
hex: { header: '1f 02 02', body: '01 0c' }
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: 'version: 34, support multicast and fragmented data',
|
|
25
|
+
parameters: {
|
|
26
|
+
version: 34,
|
|
27
|
+
capabilities: {
|
|
28
|
+
isMulticastSupported: true,
|
|
29
|
+
isFragmentedDataSupported: true
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
hex: { header: '1f 02 02', body: '03 22' }
|
|
33
|
+
}
|
|
34
|
+
];
|
|
35
|
+
/**
|
|
36
|
+
* Uplink command.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```js
|
|
40
|
+
* import GetLmicVersion from 'jooby-codec/commands/uplink/GetLmicVersion';
|
|
41
|
+
*
|
|
42
|
+
* const parameters = {
|
|
43
|
+
* version: 34,
|
|
44
|
+
* capabilities: {
|
|
45
|
+
* isMulticastSupported: true,
|
|
46
|
+
* isFragmentedDataSupported: true
|
|
47
|
+
* }
|
|
48
|
+
* };
|
|
49
|
+
* const command = new GetLmicVersion(parameters);
|
|
50
|
+
*
|
|
51
|
+
* // output command binary in hex representation
|
|
52
|
+
* console.log(command.toHex());
|
|
53
|
+
* // 1f 02 02 03 22
|
|
54
|
+
* ```
|
|
55
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetLmicVersion.md#response)
|
|
56
|
+
*/
|
|
57
|
+
class GetLmicVersion extends Command {
|
|
58
|
+
constructor(parameters) {
|
|
59
|
+
super();
|
|
60
|
+
this.parameters = parameters;
|
|
61
|
+
}
|
|
62
|
+
// data - only body (without header)
|
|
63
|
+
static fromBytes(data) {
|
|
64
|
+
console.log({ data });
|
|
65
|
+
if (data.byteLength !== COMMAND_BODY_SIZE) {
|
|
66
|
+
throw new Error(`${this.getName()}. Wrong buffer size: ${data.byteLength}.`);
|
|
67
|
+
}
|
|
68
|
+
const buffer = new BinaryBuffer(data);
|
|
69
|
+
const capabilities = bitSet.toObject(lmicCapabilitiesBitMask, buffer.getUint8());
|
|
70
|
+
const version = buffer.getUint8();
|
|
71
|
+
if (!buffer.isEmpty) {
|
|
72
|
+
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
73
|
+
}
|
|
74
|
+
return new GetLmicVersion({ capabilities, version });
|
|
75
|
+
}
|
|
76
|
+
// returns full message - header with body
|
|
77
|
+
toBytes() {
|
|
78
|
+
const { capabilities, version } = this.parameters;
|
|
79
|
+
const buffer = new BinaryBuffer(COMMAND_BODY_SIZE);
|
|
80
|
+
buffer.setUint8(bitSet.fromObject(lmicCapabilitiesBitMask, capabilities));
|
|
81
|
+
buffer.setUint8(version);
|
|
82
|
+
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
GetLmicVersion.id = COMMAND_ID;
|
|
86
|
+
GetLmicVersion.directionType = UPLINK;
|
|
87
|
+
GetLmicVersion.examples = examples;
|
|
88
|
+
GetLmicVersion.hasParameters = true;
|
|
89
|
+
export default GetLmicVersion;
|
|
90
|
+
//# sourceMappingURL=GetLmicVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetLmicVersion.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetLmicVersion.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AAmBrD,MAAM,UAAU,GAAG,MAAM,CAAC;AAC1B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B,MAAM,uBAAuB,GAAG;IAC5B,oBAAoB,EAAE,CAAC,IAAI,CAAC;IAC5B,yBAAyB,EAAE,CAAC,IAAI,CAAC;CACpC,CAAC;AAEF,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,qCAAqC;QAC3C,UAAU,EAAE;YACR,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACV,oBAAoB,EAAE,IAAI;gBAC1B,yBAAyB,EAAE,KAAK;aACnC;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC;KAC3C;IACD;QACI,IAAI,EAAE,oDAAoD;QAC1D,UAAU,EAAE;YACR,OAAO,EAAE,EAAE;YACX,YAAY,EAAE;gBACV,oBAAoB,EAAE,IAAI;gBAC1B,yBAAyB,EAAE,IAAI;aAClC;SACJ;QACD,GAAG,EAAE,EAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAC;KAC3C;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAA2C;QAC5D,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAiC;IAEhE,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,OAAO,CAAC,GAAG,CAAC,EAAC,IAAI,EAAC,CAAC,CAAC;QAEpB,IAAK,IAAI,CAAC,UAAU,KAAK,iBAAiB,EAAG;YACzC,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,wBAAwB,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;SAChF;QAED,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAsB,CAAC;QACtG,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QAElC,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,cAAc,CAAC,EAAC,YAAY,EAAE,OAAO,EAAC,CAAC,CAAC;IACvD,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,YAAY,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAChD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC,iBAAiB,CAAC,CAAC;QAEnD,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC;QAC1E,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEzB,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAtCe,iBAAE,GAAG,UAAU,CAAC;AAEhB,4BAAa,GAAG,MAAM,CAAC;AAEvB,uBAAQ,GAAG,QAAQ,CAAC;AAEpB,4BAAa,GAAG,IAAI,CAAC;AAoCzC,eAAe,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { IParameter } from '../../CommandBinaryBuffer.js';
|
|
3
|
+
/**
|
|
4
|
+
* Uplink command.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```js
|
|
8
|
+
* import GetParameter from 'jooby-codec/commands/uplink/GetParameter';
|
|
9
|
+
* import {constants} from 'jooby-codec';
|
|
10
|
+
*
|
|
11
|
+
* const parameters = [eventList: {id: constants.events.MAGNET_ON, sequenceNumber: 1, seconds: 734015840}];
|
|
12
|
+
* const command = new GetParameter(parameters);
|
|
13
|
+
*
|
|
14
|
+
* // output command binary in hex representation
|
|
15
|
+
* console.log(command.toHex());
|
|
16
|
+
* // 0b 06 2b c0 31 60 01 01
|
|
17
|
+
* ```
|
|
18
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetParameter.md#response)
|
|
19
|
+
*/
|
|
20
|
+
declare class GetParameter extends Command {
|
|
21
|
+
parameters: IParameter;
|
|
22
|
+
constructor(parameters: IParameter);
|
|
23
|
+
static readonly id = 4;
|
|
24
|
+
static readonly directionType = 2;
|
|
25
|
+
static readonly examples: TCommandExampleList;
|
|
26
|
+
static readonly hasParameters = true;
|
|
27
|
+
static fromBytes(data: Uint8Array): GetParameter;
|
|
28
|
+
toBytes(): Uint8Array;
|
|
29
|
+
}
|
|
30
|
+
export default GetParameter;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import Command from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
3
|
+
import { UPLINK } from '../../constants/directions.js';
|
|
4
|
+
import * as deviceParameters from '../../constants/deviceParameters.js';
|
|
5
|
+
const COMMAND_ID = 0x04;
|
|
6
|
+
const examples = [
|
|
7
|
+
{
|
|
8
|
+
name: 'initial data response',
|
|
9
|
+
parameters: {
|
|
10
|
+
id: deviceParameters.INITIAL_DATA,
|
|
11
|
+
data: { value: 2023, meterValue: 204, pulseCoefficient: 100 }
|
|
12
|
+
},
|
|
13
|
+
hex: {
|
|
14
|
+
header: '04 0a',
|
|
15
|
+
body: '17 00 00 00 cc 82 00 00 07 e7'
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: 'device sending absolute data',
|
|
20
|
+
parameters: {
|
|
21
|
+
id: deviceParameters.ABSOLUTE_DATA_STATUS,
|
|
22
|
+
data: { status: 1 }
|
|
23
|
+
},
|
|
24
|
+
hex: {
|
|
25
|
+
header: '04 02',
|
|
26
|
+
body: '18 01'
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: 'initial data from 1 channel',
|
|
31
|
+
parameters: {
|
|
32
|
+
id: deviceParameters.INITIAL_DATA_MULTI_CHANNEL,
|
|
33
|
+
data: { value: 2032, meterValue: 402, pulseCoefficient: 1000, channel: 1 }
|
|
34
|
+
},
|
|
35
|
+
hex: {
|
|
36
|
+
header: '04 0b',
|
|
37
|
+
body: '1d 01 00 00 01 92 80 00 00 07 f0'
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
name: 'absolute data sending is disabled for 2 channel',
|
|
42
|
+
parameters: {
|
|
43
|
+
id: deviceParameters.ABSOLUTE_DATA_STATUS_MULTI_CHANNEL,
|
|
44
|
+
data: { status: 0, channel: 2 }
|
|
45
|
+
},
|
|
46
|
+
hex: {
|
|
47
|
+
header: '04 03',
|
|
48
|
+
body: '1e 02 00'
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
/**
|
|
53
|
+
* Uplink command.
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```js
|
|
57
|
+
* import GetParameter from 'jooby-codec/commands/uplink/GetParameter';
|
|
58
|
+
* import {constants} from 'jooby-codec';
|
|
59
|
+
*
|
|
60
|
+
* const parameters = [eventList: {id: constants.events.MAGNET_ON, sequenceNumber: 1, seconds: 734015840}];
|
|
61
|
+
* const command = new GetParameter(parameters);
|
|
62
|
+
*
|
|
63
|
+
* // output command binary in hex representation
|
|
64
|
+
* console.log(command.toHex());
|
|
65
|
+
* // 0b 06 2b c0 31 60 01 01
|
|
66
|
+
* ```
|
|
67
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetParameter.md#response)
|
|
68
|
+
*/
|
|
69
|
+
class GetParameter extends Command {
|
|
70
|
+
constructor(parameters) {
|
|
71
|
+
super();
|
|
72
|
+
this.parameters = parameters;
|
|
73
|
+
}
|
|
74
|
+
// data - only body (without header)
|
|
75
|
+
static fromBytes(data) {
|
|
76
|
+
const buffer = new CommandBinaryBuffer(data);
|
|
77
|
+
return new GetParameter(buffer.getParameter());
|
|
78
|
+
}
|
|
79
|
+
// returns full message - header with body
|
|
80
|
+
toBytes() {
|
|
81
|
+
const buffer = new CommandBinaryBuffer(CommandBinaryBuffer.getParameterSize(this.parameters));
|
|
82
|
+
buffer.setParameter(this.parameters);
|
|
83
|
+
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
GetParameter.id = COMMAND_ID;
|
|
87
|
+
GetParameter.directionType = UPLINK;
|
|
88
|
+
GetParameter.examples = examples;
|
|
89
|
+
GetParameter.hasParameters = true;
|
|
90
|
+
export default GetParameter;
|
|
91
|
+
//# sourceMappingURL=GetParameter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetParameter.js","sourceRoot":"","sources":["../../../src/commands/uplink/GetParameter.ts"],"names":[],"mappings":"AAAA,OAAO,OAA8B,MAAM,kBAAkB,CAAC;AAC9D,OAAO,mBAAiC,MAAM,8BAA8B,CAAC;AAC7E,OAAO,EAAC,MAAM,EAAC,MAAM,+BAA+B,CAAC;AACrD,OAAO,KAAK,gBAAgB,MAAM,qCAAqC,CAAC;AAGxE,MAAM,UAAU,GAAG,IAAI,CAAC;AAExB,MAAM,QAAQ,GAAwB;IAClC;QACI,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,YAAY;YACjC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAC;SAC9D;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,+BAA+B;SACxC;KACJ;IACD;QACI,IAAI,EAAE,8BAA8B;QACpC,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,oBAAoB;YACzC,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAC;SACpB;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO;SAChB;KACJ;IACD;QACI,IAAI,EAAE,6BAA6B;QACnC,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,0BAA0B;YAC/C,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAC;SAC3E;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,kCAAkC;SAC3C;KACJ;IACD;QACI,IAAI,EAAE,iDAAiD;QACvD,UAAU,EAAE;YACR,EAAE,EAAE,gBAAgB,CAAC,kCAAkC;YACvD,IAAI,EAAE,EAAC,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAC;SAChC;QACD,GAAG,EAAE;YACD,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,UAAU;SACnB;KACJ;CACJ,CAAC;AAGF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,YAAa,SAAQ,OAAO;IAC9B,YAAqB,UAAsB;QACvC,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAY;IAE3C,CAAC;IAYD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QAE9F,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAvBe,eAAE,GAAG,UAAU,CAAC;AAEhB,0BAAa,GAAG,MAAM,CAAC;AAEvB,qBAAQ,GAAG,QAAQ,CAAC;AAEpB,0BAAa,GAAG,IAAI,CAAC;AAqBzC,eAAe,YAAY,CAAC"}
|
|
@@ -1,77 +1,5 @@
|
|
|
1
|
-
import Command from '../../Command.js';
|
|
2
|
-
|
|
3
|
-
/** the battery voltage has dropped below the set threshold */
|
|
4
|
-
isBatteryLow?: boolean;
|
|
5
|
-
/** there is a magnetic field influence */
|
|
6
|
-
isMagneticInfluence?: boolean;
|
|
7
|
-
/** button is release (device is unmounted) */
|
|
8
|
-
isButtonReleased?: boolean;
|
|
9
|
-
/** the device has detected a loss of connection to the server */
|
|
10
|
-
isConnectionLost?: boolean;
|
|
11
|
-
}
|
|
12
|
-
interface ILastEvent2ChannelStatus {
|
|
13
|
-
/** the battery voltage has dropped below the set threshold */
|
|
14
|
-
isBatteryLow?: boolean;
|
|
15
|
-
/** the device has detected a loss of connection to the server */
|
|
16
|
-
isConnectionLost?: boolean;
|
|
17
|
-
/** the first channel is not active */
|
|
18
|
-
isFirstChannelInactive?: boolean;
|
|
19
|
-
/** the second channel is not active */
|
|
20
|
-
isSecondChannelInactive?: boolean;
|
|
21
|
-
}
|
|
22
|
-
interface ILastEventElimpStatus {
|
|
23
|
-
/** the device has detected a loss of connection to the server */
|
|
24
|
-
isConnectionLost?: boolean;
|
|
25
|
-
}
|
|
26
|
-
interface ILastEventWaterStatus {
|
|
27
|
-
/** the battery voltage has dropped below the set threshold */
|
|
28
|
-
isBatteryLow?: boolean;
|
|
29
|
-
/** the device has detected a loss of connection to the server */
|
|
30
|
-
isConnectionLost?: boolean;
|
|
31
|
-
}
|
|
32
|
-
interface ILastEvent4ChannelStatus {
|
|
33
|
-
/** the battery voltage has dropped below the set threshold */
|
|
34
|
-
isBatteryLow?: boolean;
|
|
35
|
-
/** the device has detected a loss of connection to the server */
|
|
36
|
-
isConnectionLost?: boolean;
|
|
37
|
-
/** the first channel is not active */
|
|
38
|
-
isFirstChannelInactive?: boolean;
|
|
39
|
-
/** the second channel is not active */
|
|
40
|
-
isSecondChannelInactive?: boolean;
|
|
41
|
-
/** the third channel is not active */
|
|
42
|
-
isThirdChannelInactive?: boolean;
|
|
43
|
-
/** the forth channel is not active */
|
|
44
|
-
isForthChannelInactive?: boolean;
|
|
45
|
-
}
|
|
46
|
-
interface ILastEventMtxStatus {
|
|
47
|
-
/** meter case is open */
|
|
48
|
-
isMeterCaseOpen?: boolean;
|
|
49
|
-
/** there is a magnetic field influence */
|
|
50
|
-
isMagneticInfluence?: boolean;
|
|
51
|
-
/** parameters set remotely */
|
|
52
|
-
isParametersSetRemotely?: boolean;
|
|
53
|
-
/** parameters set locally */
|
|
54
|
-
isParametersSetLocally?: boolean;
|
|
55
|
-
/** meter program restart */
|
|
56
|
-
isMeterProgramRestarted?: boolean;
|
|
57
|
-
/** incorrect password and lockout */
|
|
58
|
-
isLockedOut?: boolean;
|
|
59
|
-
/** time set */
|
|
60
|
-
isTimeSet?: boolean;
|
|
61
|
-
/** time correction */
|
|
62
|
-
isTimeCorrected?: boolean;
|
|
63
|
-
/** meter failure */
|
|
64
|
-
isMeterFailure?: boolean;
|
|
65
|
-
/** meter terminal box is open */
|
|
66
|
-
isMeterTerminalBoxOpen?: boolean;
|
|
67
|
-
/** meter module compartment is open */
|
|
68
|
-
isModuleCompartmentOpen?: boolean;
|
|
69
|
-
/** tariff plan changed */
|
|
70
|
-
isTariffPlanChanged?: boolean;
|
|
71
|
-
/** new tariff plan received */
|
|
72
|
-
isNewTariffPlanReceived?: boolean;
|
|
73
|
-
}
|
|
74
|
-
type TLastEventStatus = ILastEventGasStatus | ILastEvent2ChannelStatus | ILastEventElimpStatus | ILastEventWaterStatus | ILastEvent4ChannelStatus | ILastEventMtxStatus;
|
|
1
|
+
import Command, { TCommandExampleList } from '../../Command.js';
|
|
2
|
+
import { TEventStatus } from '../../CommandBinaryBuffer.js';
|
|
75
3
|
/**
|
|
76
4
|
* LastEvent command parameters
|
|
77
5
|
*
|
|
@@ -82,7 +10,7 @@ interface ILastEventParameters {
|
|
|
82
10
|
/** unique event number */
|
|
83
11
|
sequenceNumber: number;
|
|
84
12
|
/** object with boolean values depending on the device hardware type */
|
|
85
|
-
status:
|
|
13
|
+
status: TEventStatus;
|
|
86
14
|
}
|
|
87
15
|
/**
|
|
88
16
|
* Uplink command.
|
|
@@ -109,7 +37,8 @@ declare class LastEvent extends Command {
|
|
|
109
37
|
constructor(parameters: ILastEventParameters, hardwareType: number);
|
|
110
38
|
static readonly id = 96;
|
|
111
39
|
static readonly directionType = 2;
|
|
112
|
-
static readonly
|
|
40
|
+
static readonly examples: TCommandExampleList;
|
|
41
|
+
static readonly hasParameters = true;
|
|
113
42
|
static fromBytes(data: Uint8Array, hardwareType?: number): LastEvent;
|
|
114
43
|
toBytes(): Uint8Array;
|
|
115
44
|
}
|