jooby-codec 1.3.0 → 1.4.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/CommandBinaryBuffer.d.ts +5 -5
- package/dist/CommandBinaryBuffer.js +19 -19
- package/dist/CommandBinaryBuffer.js.map +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMC.d.ts +47 -0
- package/dist/commands/downlink/{ExAbsArchiveDaysMul.js → ExAbsArchiveDaysMC.js} +18 -18
- package/dist/commands/downlink/ExAbsArchiveDaysMC.js.map +1 -0
- package/dist/commands/downlink/ExAbsArchiveHoursMC.d.ts +47 -0
- package/dist/commands/downlink/{ExAbsArchiveHoursMul.js → ExAbsArchiveHoursMC.js} +18 -18
- package/dist/commands/downlink/ExAbsArchiveHoursMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveDaysMC.d.ts +47 -0
- package/dist/commands/downlink/{GetArchiveDaysMul.js → GetArchiveDaysMC.js} +18 -18
- package/dist/commands/downlink/GetArchiveDaysMC.js.map +1 -0
- package/dist/commands/downlink/GetArchiveHoursMC.d.ts +47 -0
- package/dist/commands/downlink/{GetArchiveHoursMul.js → GetArchiveHoursMC.js} +18 -18
- package/dist/commands/downlink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/downlink/SetParameter.d.ts +2 -2
- package/dist/commands/downlink/SetParameter.js.map +1 -1
- package/dist/commands/downlink/index.d.ts +4 -4
- package/dist/commands/downlink/index.js +4 -4
- package/dist/commands/downlink/index.js.map +1 -1
- package/dist/commands/uplink/DataDayMC.d.ts +20 -0
- package/dist/commands/uplink/{DataDayMul.js → DataDayMC.js} +13 -13
- package/dist/commands/uplink/DataDayMC.js.map +1 -0
- package/dist/commands/uplink/{DataHourMul.d.ts → DataHourMC.d.ts} +3 -3
- package/dist/commands/uplink/{DataHourMul.js → DataHourMC.js} +20 -20
- package/dist/commands/uplink/DataHourMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsArchiveDaysMul.d.ts → ExAbsArchiveDaysMC.d.ts} +9 -9
- package/dist/commands/uplink/{ExAbsArchiveDaysMul.js → ExAbsArchiveDaysMC.js} +22 -22
- package/dist/commands/uplink/ExAbsArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsArchiveHoursMul.d.ts → ExAbsArchiveHoursMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsArchiveHoursMul.js → ExAbsArchiveHoursMC.js} +20 -20
- package/dist/commands/uplink/ExAbsArchiveHoursMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsDayMul.d.ts → ExAbsDayMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsDayMul.js → ExAbsDayMC.js} +16 -16
- package/dist/commands/uplink/ExAbsDayMC.js.map +1 -0
- package/dist/commands/uplink/{ExAbsHourMul.d.ts → ExAbsHourMC.d.ts} +3 -3
- package/dist/commands/uplink/{ExAbsHourMul.js → ExAbsHourMC.js} +20 -20
- package/dist/commands/uplink/ExAbsHourMC.js.map +1 -0
- package/dist/commands/uplink/{GetArchiveDaysMul.d.ts → GetArchiveDaysMC.d.ts} +17 -17
- package/dist/commands/uplink/{GetArchiveDaysMul.js → GetArchiveDaysMC.js} +32 -32
- package/dist/commands/uplink/GetArchiveDaysMC.js.map +1 -0
- package/dist/commands/uplink/GetArchiveHoursMC.d.ts +28 -0
- package/dist/commands/uplink/{GetArchiveHoursMul.js → GetArchiveHoursMC.js} +17 -17
- package/dist/commands/uplink/GetArchiveHoursMC.js.map +1 -0
- package/dist/commands/uplink/GetCurrentMC.d.ts +24 -0
- package/dist/commands/uplink/GetCurrentMC.js +36 -0
- package/dist/commands/uplink/GetCurrentMC.js.map +1 -0
- package/dist/commands/uplink/index.d.ts +9 -9
- package/dist/commands/uplink/index.js +9 -9
- package/dist/commands/uplink/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/downlink/ExAbsArchiveDaysMul.d.ts +0 -47
- package/dist/commands/downlink/ExAbsArchiveDaysMul.js.map +0 -1
- package/dist/commands/downlink/ExAbsArchiveHoursMul.d.ts +0 -47
- package/dist/commands/downlink/ExAbsArchiveHoursMul.js.map +0 -1
- package/dist/commands/downlink/GetArchiveDaysMul.d.ts +0 -47
- package/dist/commands/downlink/GetArchiveDaysMul.js.map +0 -1
- package/dist/commands/downlink/GetArchiveHoursMul.d.ts +0 -47
- package/dist/commands/downlink/GetArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/DataDayMul.d.ts +0 -20
- package/dist/commands/uplink/DataDayMul.js.map +0 -1
- package/dist/commands/uplink/DataHourMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsDayMul.js.map +0 -1
- package/dist/commands/uplink/ExAbsHourMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveDaysMul.js.map +0 -1
- package/dist/commands/uplink/GetArchiveHoursMul.d.ts +0 -28
- package/dist/commands/uplink/GetArchiveHoursMul.js.map +0 -1
- package/dist/commands/uplink/GetCurrentMul.d.ts +0 -24
- package/dist/commands/uplink/GetCurrentMul.js +0 -36
- package/dist/commands/uplink/GetCurrentMul.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* [[include:commands/downlink/
|
|
2
|
+
* [[include:commands/downlink/GetArchiveHoursMC.md]]
|
|
3
3
|
*
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
@@ -15,22 +15,22 @@ const COMMAND_BODY_SIZE = 4;
|
|
|
15
15
|
*
|
|
16
16
|
* @example
|
|
17
17
|
* ```js
|
|
18
|
-
* import
|
|
18
|
+
* import GetArchiveHoursMC from 'jooby-codec/commands/downlink/GetArchiveHoursMC';
|
|
19
19
|
*
|
|
20
|
-
* const parameters = {
|
|
21
|
-
* const command = new
|
|
20
|
+
* const parameters = {channelList: [0], hours: 0, seconds: 756648000};
|
|
21
|
+
* const command = new GetArchiveHoursMC(parameters);
|
|
22
22
|
*
|
|
23
23
|
* // output command binary in hex representation
|
|
24
24
|
* console.log(command.toHex());
|
|
25
25
|
* // 1a 04 2f 97 0c 01
|
|
26
26
|
* ```
|
|
27
|
-
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/
|
|
27
|
+
* [Command format documentation](https://github.com/jooby-dev/jooby-docs/blob/main/docs/commands/GetArchiveHoursMC.md#request)
|
|
28
28
|
*/
|
|
29
|
-
class
|
|
29
|
+
class GetArchiveHoursMC extends Command {
|
|
30
30
|
constructor(parameters) {
|
|
31
31
|
super();
|
|
32
32
|
this.parameters = parameters;
|
|
33
|
-
this.parameters.
|
|
33
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a - b);
|
|
34
34
|
}
|
|
35
35
|
// data - only body (without header)
|
|
36
36
|
static fromBytes(data) {
|
|
@@ -39,28 +39,28 @@ class GetArchiveHoursMul extends Command {
|
|
|
39
39
|
}
|
|
40
40
|
const buffer = new CommandBinaryBuffer(data);
|
|
41
41
|
const date = buffer.getDate();
|
|
42
|
-
const { hour, hours
|
|
43
|
-
const
|
|
42
|
+
const { hour, hours } = buffer.getHours();
|
|
43
|
+
const channelList = buffer.getChannels(true);
|
|
44
44
|
date.setUTCHours(hour);
|
|
45
45
|
if (!buffer.isEmpty) {
|
|
46
46
|
throw new Error(`${this.getName()}. BinaryBuffer is not empty.`);
|
|
47
47
|
}
|
|
48
|
-
return new
|
|
48
|
+
return new GetArchiveHoursMC({ channelList, hours, seconds: getSecondsFromDate(date) });
|
|
49
49
|
}
|
|
50
50
|
// returns full message - header with body
|
|
51
51
|
toBytes() {
|
|
52
|
-
const {
|
|
52
|
+
const { channelList, hours, seconds } = this.parameters;
|
|
53
53
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_SIZE);
|
|
54
54
|
const date = getDateFromSeconds(seconds);
|
|
55
55
|
const hour = date.getUTCHours();
|
|
56
56
|
buffer.setDate(date);
|
|
57
|
-
buffer.setHours(hour,
|
|
58
|
-
buffer.setChannels(
|
|
57
|
+
buffer.setHours(hour, hours);
|
|
58
|
+
buffer.setChannels(channelList);
|
|
59
59
|
return Command.toBytes(COMMAND_ID, buffer.toUint8Array());
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
export default
|
|
66
|
-
//# sourceMappingURL=
|
|
62
|
+
GetArchiveHoursMC.id = COMMAND_ID;
|
|
63
|
+
GetArchiveHoursMC.directionType = DOWNLINK;
|
|
64
|
+
GetArchiveHoursMC.title = COMMAND_TITLE;
|
|
65
|
+
export default GetArchiveHoursMC;
|
|
66
|
+
//# sourceMappingURL=GetArchiveHoursMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GetArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/downlink/GetArchiveHoursMC.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAC3D,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAsB3E,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,uBAAuB,CAAC;AAC9C,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAG5B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACnC,YAAqB,UAAgD;QACjE,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAAsC;QAGjE,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpF,CAAC;IAQD,oCAAoC;IACpC,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,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,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAK,CAAC,MAAM,CAAC,OAAO,EAAG;YACnB,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,8BAA8B,CAAC,CAAC;SACpE;QAED,OAAO,IAAI,iBAAiB,CAAC,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;IAC1F,CAAC;IAED,0CAA0C;IAC1C,OAAO;QACH,MAAM,EAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE1D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEhC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7B,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAEhC,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;;AAxCe,oBAAE,GAAG,UAAU,CAAC;AAEhB,+BAAa,GAAG,QAAQ,CAAC;AAEzB,uBAAK,GAAG,aAAa,CAAC;AAwC1C,eAAe,iBAAiB,CAAC"}
|
|
@@ -18,7 +18,7 @@ interface IParameterInitialData {
|
|
|
18
18
|
meterValue: number;
|
|
19
19
|
pulseCoefficient: number;
|
|
20
20
|
}
|
|
21
|
-
interface
|
|
21
|
+
interface IParameterInitialDataMC extends IParameterInitialData {
|
|
22
22
|
/**
|
|
23
23
|
* Channel that accept initial values.
|
|
24
24
|
*/
|
|
@@ -27,7 +27,7 @@ interface IParameterInitialDataMultiChannel extends IParameterInitialData {
|
|
|
27
27
|
interface IParameterAbsoluteDataStatus {
|
|
28
28
|
status: number;
|
|
29
29
|
}
|
|
30
|
-
type TParameter = IParameterInitialData |
|
|
30
|
+
type TParameter = IParameterInitialData | IParameterInitialDataMC | IParameterAbsoluteDataStatus;
|
|
31
31
|
/**
|
|
32
32
|
* SetParameter command parameters
|
|
33
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SetParameter.js","sourceRoot":"","sources":["../../../src/commands/downlink/SetParameter.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
7
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
10
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
11
11
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
12
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
13
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
* @packageDocumentation
|
|
5
5
|
*/
|
|
6
6
|
export { default as CorrectTime2000 } from './CorrectTime2000.js';
|
|
7
|
-
export { default as
|
|
8
|
-
export { default as
|
|
9
|
-
export { default as
|
|
10
|
-
export { default as
|
|
7
|
+
export { default as ExAbsArchiveDaysMC } from './ExAbsArchiveDaysMC.js';
|
|
8
|
+
export { default as ExAbsArchiveHoursMC } from './ExAbsArchiveHoursMC.js';
|
|
9
|
+
export { default as GetArchiveDaysMC } from './GetArchiveDaysMC.js';
|
|
10
|
+
export { default as GetArchiveHoursMC } from './GetArchiveHoursMC.js';
|
|
11
11
|
export { default as NewStatus } from './NewStatus.js';
|
|
12
12
|
export { default as SetParameter } from './SetParameter.js';
|
|
13
13
|
export { default as SetTime2000 } from './SetTime2000.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/downlink/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import GetCurrentMC, { IGetCurrentMCParameters } from './GetCurrentMC.js';
|
|
2
|
+
/**
|
|
3
|
+
* DataDayMC command parameters.
|
|
4
|
+
*/
|
|
5
|
+
interface IDataDayMCParameters extends IGetCurrentMCParameters {
|
|
6
|
+
/**
|
|
7
|
+
* Seconds since year 2000, i.e. timestamp (in seconds) - 946684800
|
|
8
|
+
*/
|
|
9
|
+
seconds: number;
|
|
10
|
+
}
|
|
11
|
+
declare class DataDayMC extends GetCurrentMC {
|
|
12
|
+
parameters: IDataDayMCParameters;
|
|
13
|
+
constructor(parameters: IDataDayMCParameters);
|
|
14
|
+
static readonly id = 22;
|
|
15
|
+
static readonly directionType = 2;
|
|
16
|
+
static readonly title = "DATA_DAY_MUL";
|
|
17
|
+
static fromBytes(data: Uint8Array): DataDayMC;
|
|
18
|
+
toBytes(): Uint8Array;
|
|
19
|
+
}
|
|
20
|
+
export default DataDayMC;
|
|
@@ -2,41 +2,41 @@
|
|
|
2
2
|
import Command from '../../Command.js';
|
|
3
3
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
4
4
|
import { getSecondsFromDate } from '../../utils/time.js';
|
|
5
|
-
import
|
|
5
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
6
6
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
7
7
|
const COMMAND_ID = 0x16;
|
|
8
8
|
const COMMAND_TITLE = 'DATA_DAY_MUL';
|
|
9
9
|
// 2 byte for date + 2 for channels (max channels: 7)
|
|
10
10
|
// 4 + (7 * 4)
|
|
11
11
|
const COMMAND_BODY_MAX_SIZE = 32;
|
|
12
|
-
class
|
|
12
|
+
class DataDayMC extends GetCurrentMC {
|
|
13
13
|
constructor(parameters) {
|
|
14
14
|
super(parameters);
|
|
15
15
|
this.parameters = parameters;
|
|
16
16
|
}
|
|
17
17
|
static fromBytes(data) {
|
|
18
|
-
const parameters = {
|
|
18
|
+
const parameters = { channelList: [], seconds: 0 };
|
|
19
19
|
const buffer = new CommandBinaryBuffer(data);
|
|
20
20
|
const date = buffer.getDate();
|
|
21
21
|
const channelArray = buffer.getChannels(false);
|
|
22
|
-
parameters.
|
|
22
|
+
parameters.channelList = channelArray.map(channelIndex => ({
|
|
23
23
|
value: buffer.getExtendedValue(),
|
|
24
24
|
index: channelIndex
|
|
25
25
|
}));
|
|
26
26
|
parameters.seconds = getSecondsFromDate(date);
|
|
27
|
-
return new
|
|
27
|
+
return new DataDayMC(parameters);
|
|
28
28
|
}
|
|
29
29
|
toBytes() {
|
|
30
30
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
31
|
-
const {
|
|
31
|
+
const { channelList, seconds } = this.parameters;
|
|
32
32
|
buffer.setDate(seconds);
|
|
33
|
-
buffer.setChannels(
|
|
34
|
-
|
|
33
|
+
buffer.setChannels(channelList.map(({ index }) => index));
|
|
34
|
+
channelList.forEach(({ value }) => buffer.setExtendedValue(value));
|
|
35
35
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
export default
|
|
42
|
-
//# sourceMappingURL=
|
|
38
|
+
DataDayMC.id = COMMAND_ID;
|
|
39
|
+
DataDayMC.directionType = UPLINK;
|
|
40
|
+
DataDayMC.title = COMMAND_TITLE;
|
|
41
|
+
export default DataDayMC;
|
|
42
|
+
//# sourceMappingURL=DataDayMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataDayMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataDayMC.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,mBAAmB,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,YAAuC,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAC,MAAM,EAAC,MAAM,mCAAmC,CAAC;AAczD,MAAM,UAAU,GAAG,IAAI,CAAC;AACxB,MAAM,aAAa,GAAG,cAAc,CAAC;AAErC,qDAAqD;AACrD,cAAc;AACd,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAGjC,MAAM,SAAU,SAAQ,YAAY;IAChC,YAAqB,UAAgC;QACjD,KAAK,CAAC,UAAU,CAAC,CAAC;QADD,eAAU,GAAV,UAAU,CAAsB;IAErD,CAAC;IAQD,MAAM,CAAC,SAAS,CAAG,IAAgB;QAC/B,MAAM,UAAU,GAAyB,EAAC,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAC,CAAC;QAEvE,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAE/C,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YACvD,KAAK,EAAE,MAAM,CAAC,gBAAgB,EAAE;YAChC,KAAK,EAAE,YAAY;SACtB,CAAC,CAAC,CAAC;QAEJ,UAAU,CAAC,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,OAAO;QACH,MAAM,MAAM,GAAG,IAAI,mBAAmB,CAAC,qBAAqB,CAAC,CAAC;QAC9D,MAAM,EAAC,WAAW,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAE/C,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxB,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxD,WAAW,CAAC,OAAO,CAAC,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEjE,OAAO,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAClE,CAAC;;AAjCe,YAAE,GAAG,UAAU,CAAC;AAEhB,uBAAa,GAAG,MAAM,CAAC;AAEvB,eAAK,GAAG,aAAa,CAAC;AAiC1C,eAAe,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare class
|
|
1
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
2
|
+
declare class DataHourMC extends GetCurrentMC {
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 23;
|
|
@@ -8,4 +8,4 @@ declare class DataHourMul extends GetCurrentMul {
|
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
10
10
|
}
|
|
11
|
-
export default
|
|
11
|
+
export default DataHourMC;
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
5
5
|
import Command from '../../Command.js';
|
|
6
|
-
import
|
|
6
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
7
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
8
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
9
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
10
10
|
const COMMAND_ID = 0x17;
|
|
11
11
|
const COMMAND_TITLE = 'DATA_HOUR_MUL';
|
|
12
|
-
// date 2 bytes, hour 1 byte,
|
|
12
|
+
// date 2 bytes, hour 1 byte, channelList - 1 byte, so max channelList = 4
|
|
13
13
|
// max hours diff - 7 (3 bit value)
|
|
14
|
-
// 4 + (4
|
|
14
|
+
// 4 + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
15
15
|
const COMMAND_BODY_MAX_SIZE = 164;
|
|
16
|
-
class
|
|
16
|
+
class DataHourMC extends GetCurrentMC {
|
|
17
17
|
constructor(parameters) {
|
|
18
18
|
super(parameters);
|
|
19
19
|
this.parameters = parameters;
|
|
@@ -28,7 +28,7 @@ class DataHourMul extends GetCurrentMul {
|
|
|
28
28
|
const counterDate = new Date(date);
|
|
29
29
|
let hourAmount = hours;
|
|
30
30
|
let value;
|
|
31
|
-
const
|
|
31
|
+
const channelList = [];
|
|
32
32
|
if (hourAmount === 0) {
|
|
33
33
|
// one hour
|
|
34
34
|
hourAmount = 1;
|
|
@@ -39,29 +39,29 @@ class DataHourMul extends GetCurrentMul {
|
|
|
39
39
|
counterDate.setTime(date.getTime());
|
|
40
40
|
const diff = [];
|
|
41
41
|
const channel = { value, index: channelIndex, seconds: getSecondsFromDate(counterDate), diff };
|
|
42
|
-
|
|
42
|
+
channelList.push(channel);
|
|
43
43
|
for (let hourIndex = 0; hourIndex < hourAmount; ++hourIndex) {
|
|
44
44
|
value = buffer.getExtendedValue();
|
|
45
45
|
counterDate.setUTCHours(counterDate.getUTCHours() + hourIndex);
|
|
46
46
|
diff.push({ value, seconds: getSecondsFromDate(counterDate) });
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
return new
|
|
49
|
+
return new DataHourMC({ channelList });
|
|
50
50
|
}
|
|
51
51
|
toBytes() {
|
|
52
52
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
53
|
-
const {
|
|
54
|
-
const { seconds } =
|
|
53
|
+
const { channelList } = this.parameters;
|
|
54
|
+
const { seconds } = channelList[0];
|
|
55
55
|
const realDate = getDateFromSeconds(seconds);
|
|
56
56
|
const hour = realDate.getUTCHours();
|
|
57
|
-
let
|
|
58
|
-
if (
|
|
59
|
-
|
|
57
|
+
let hours = channelList[0].diff.length;
|
|
58
|
+
if (hours === 1) {
|
|
59
|
+
hours = 0;
|
|
60
60
|
}
|
|
61
61
|
buffer.setDate(seconds);
|
|
62
|
-
buffer.setHours(hour,
|
|
63
|
-
buffer.setChannels(
|
|
64
|
-
for (const { value, diff } of
|
|
62
|
+
buffer.setHours(hour, hours);
|
|
63
|
+
buffer.setChannels(channelList);
|
|
64
|
+
for (const { value, diff } of channelList) {
|
|
65
65
|
buffer.setExtendedValue(value);
|
|
66
66
|
for (const { value: diffValue } of diff) {
|
|
67
67
|
buffer.setExtendedValue(diffValue);
|
|
@@ -70,8 +70,8 @@ class DataHourMul extends GetCurrentMul {
|
|
|
70
70
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
export default
|
|
77
|
-
//# sourceMappingURL=
|
|
73
|
+
DataHourMC.id = COMMAND_ID;
|
|
74
|
+
DataHourMC.directionType = UPLINK;
|
|
75
|
+
DataHourMC.title = COMMAND_TITLE;
|
|
76
|
+
export default DataHourMC;
|
|
77
|
+
//# sourceMappingURL=DataHourMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataHourMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/DataHourMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ interface IArchiveChannelDayAbsolute {
|
|
|
17
17
|
/**
|
|
18
18
|
* values by days
|
|
19
19
|
*/
|
|
20
|
-
|
|
20
|
+
dayList: Array<IArchiveChannelDayAbsoluteValue>;
|
|
21
21
|
/**
|
|
22
22
|
* Channel pulse coefficient - IPK in bytes.
|
|
23
23
|
*/
|
|
@@ -29,18 +29,18 @@ interface IArchiveChannelDayAbsolute {
|
|
|
29
29
|
*/
|
|
30
30
|
date: Date;
|
|
31
31
|
}
|
|
32
|
-
interface
|
|
33
|
-
|
|
32
|
+
interface IUplinkExAbsArchiveDayMCParameters {
|
|
33
|
+
channelList: Array<IArchiveChannelDayAbsolute>;
|
|
34
34
|
date: Date;
|
|
35
|
-
|
|
35
|
+
days: number;
|
|
36
36
|
}
|
|
37
|
-
declare class
|
|
38
|
-
parameters:
|
|
39
|
-
constructor(parameters:
|
|
37
|
+
declare class ExAbsArchiveDayMC extends Command {
|
|
38
|
+
parameters: IUplinkExAbsArchiveDayMCParameters;
|
|
39
|
+
constructor(parameters: IUplinkExAbsArchiveDayMCParameters);
|
|
40
40
|
static id: number;
|
|
41
41
|
static readonly directionType = 2;
|
|
42
42
|
static title: string;
|
|
43
|
-
static fromBytes(data: Uint8Array):
|
|
43
|
+
static fromBytes(data: Uint8Array): ExAbsArchiveDayMC;
|
|
44
44
|
toBytes(): Uint8Array;
|
|
45
45
|
}
|
|
46
|
-
export default
|
|
46
|
+
export default ExAbsArchiveDayMC;
|
|
@@ -5,41 +5,41 @@ import { getSecondsFromDate } from '../../utils/time.js';
|
|
|
5
5
|
import { UPLINK } from '../../constants/directionTypes.js';
|
|
6
6
|
const COMMAND_ID = 0x0d1f;
|
|
7
7
|
const COMMAND_TITLE = 'EX_ABS_ARCH_DAYS_MUL';
|
|
8
|
-
// date 2 bytes,
|
|
9
|
-
// 4 + (4
|
|
8
|
+
// date 2 bytes, channelList 1 byte (max channelList: 4), days 1 byte (max days - 255)
|
|
9
|
+
// 4 + (4 channelList * (1 byte pulse coefficient + 5 bytes of day values) * 255 max days)
|
|
10
10
|
const COMMAND_BODY_MAX_SIZE = 6124;
|
|
11
|
-
class
|
|
11
|
+
class ExAbsArchiveDayMC extends Command {
|
|
12
12
|
constructor(parameters) {
|
|
13
13
|
super();
|
|
14
14
|
this.parameters = parameters;
|
|
15
|
-
this.parameters.
|
|
15
|
+
this.parameters.channelList = this.parameters.channelList.sort((a, b) => a.index - b.index);
|
|
16
16
|
}
|
|
17
17
|
static fromBytes(data) {
|
|
18
18
|
const buffer = new CommandBinaryBuffer(data);
|
|
19
19
|
const date = buffer.getDate();
|
|
20
20
|
const channelArray = buffer.getChannels(true);
|
|
21
|
-
const
|
|
21
|
+
const days = buffer.getUint8();
|
|
22
22
|
const maxChannel = Math.max.apply(null, channelArray);
|
|
23
23
|
const counterDate = new Date(date);
|
|
24
24
|
let value;
|
|
25
|
-
const
|
|
25
|
+
const channelList = [];
|
|
26
26
|
for (let channelIndex = 0; channelIndex <= maxChannel; ++channelIndex) {
|
|
27
27
|
// IPK_${channelIndex}
|
|
28
28
|
const pulseCoefficient = buffer.getUint8();
|
|
29
|
-
const
|
|
29
|
+
const dayList = [];
|
|
30
30
|
counterDate.setTime(date.getTime());
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
channelList.push({
|
|
32
|
+
dayList,
|
|
33
33
|
pulseCoefficient,
|
|
34
34
|
index: channelIndex,
|
|
35
35
|
seconds: getSecondsFromDate(counterDate),
|
|
36
36
|
date: new Date(counterDate)
|
|
37
37
|
});
|
|
38
|
-
for (let day = 0; day <
|
|
38
|
+
for (let day = 0; day < days; ++day) {
|
|
39
39
|
value = buffer.getExtendedValue();
|
|
40
40
|
counterDate.setTime(date.getTime());
|
|
41
41
|
counterDate.setUTCHours(counterDate.getUTCHours() + (day * 24));
|
|
42
|
-
|
|
42
|
+
dayList.push({
|
|
43
43
|
value,
|
|
44
44
|
day,
|
|
45
45
|
meterValue: roundNumber(value / pulseCoefficient),
|
|
@@ -48,25 +48,25 @@ class ExAbsArchiveDayMul extends Command {
|
|
|
48
48
|
});
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
return new
|
|
51
|
+
return new ExAbsArchiveDayMC({ channelList, date, days });
|
|
52
52
|
}
|
|
53
53
|
toBytes() {
|
|
54
54
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
55
|
-
const {
|
|
55
|
+
const { channelList, date, days } = this.parameters;
|
|
56
56
|
buffer.setDate(date);
|
|
57
|
-
buffer.setChannels(
|
|
58
|
-
buffer.setUint8(
|
|
59
|
-
|
|
57
|
+
buffer.setChannels(channelList);
|
|
58
|
+
buffer.setUint8(days);
|
|
59
|
+
channelList.forEach(({ dayList, pulseCoefficient }) => {
|
|
60
60
|
buffer.setUint8(pulseCoefficient);
|
|
61
|
-
|
|
61
|
+
dayList.forEach(({ value }) => {
|
|
62
62
|
buffer.setExtendedValue(value);
|
|
63
63
|
});
|
|
64
64
|
});
|
|
65
65
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
export default
|
|
72
|
-
//# sourceMappingURL=
|
|
68
|
+
ExAbsArchiveDayMC.id = COMMAND_ID;
|
|
69
|
+
ExAbsArchiveDayMC.directionType = UPLINK;
|
|
70
|
+
ExAbsArchiveDayMC.title = COMMAND_TITLE;
|
|
71
|
+
export default ExAbsArchiveDayMC;
|
|
72
|
+
//# sourceMappingURL=ExAbsArchiveDaysMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveDaysMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveDaysMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare class
|
|
1
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
2
|
+
declare class ExAbsArchiveHourMC extends GetCurrentMC {
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static readonly id = 3103;
|
|
@@ -8,4 +8,4 @@ declare class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
10
10
|
}
|
|
11
|
-
export default
|
|
11
|
+
export default ExAbsArchiveHourMC;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
5
5
|
import Command from '../../Command.js';
|
|
6
|
-
import
|
|
6
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
7
7
|
import { getSecondsFromDate, getDateFromSeconds } from '../../utils/time.js';
|
|
8
8
|
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
9
9
|
import roundNumber from '../../utils/roundNumber.js';
|
|
@@ -11,10 +11,10 @@ import { UPLINK } from '../../constants/directionTypes.js';
|
|
|
11
11
|
// TODO: rework extended headers detection
|
|
12
12
|
const COMMAND_ID = 0x0c1f;
|
|
13
13
|
const COMMAND_TITLE = 'EX_ABS_ARCH_HOUR_MUL';
|
|
14
|
-
// date 2 bytes, hour 1 byte (max hours: 7),
|
|
15
|
-
// 4 + (4
|
|
14
|
+
// date 2 bytes, hour 1 byte (max hours: 7), channelList 1 byte (max channelList: 4)
|
|
15
|
+
// 4 + (4 channelList * 1 byte pulse coefficient) + (4 channelList * 5 bytes of hour values) + (4 * 5 bytes of diff * 7 max hours diff)
|
|
16
16
|
const COMMAND_BODY_MAX_SIZE = 168;
|
|
17
|
-
class
|
|
17
|
+
class ExAbsArchiveHourMC extends GetCurrentMC {
|
|
18
18
|
// TODO: add interface for parameters
|
|
19
19
|
constructor(parameters) {
|
|
20
20
|
super(parameters);
|
|
@@ -29,7 +29,7 @@ class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
|
29
29
|
date.setUTCHours(hour);
|
|
30
30
|
const counterDate = new Date(date);
|
|
31
31
|
let hourAmount = hours;
|
|
32
|
-
const
|
|
32
|
+
const channelList = [];
|
|
33
33
|
if (hourAmount === 0) {
|
|
34
34
|
// one hour
|
|
35
35
|
hourAmount = 1;
|
|
@@ -51,7 +51,7 @@ class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
|
51
51
|
meterValue: roundNumber((value + pulseValue) / pulseCoefficient)
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
-
|
|
54
|
+
channelList.push({
|
|
55
55
|
diff,
|
|
56
56
|
pulseCoefficient,
|
|
57
57
|
index: channelIndex,
|
|
@@ -60,23 +60,23 @@ class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
|
60
60
|
meterValue: roundNumber(pulseValue / pulseCoefficient)
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
return new
|
|
63
|
+
return new ExAbsArchiveHourMC({ channelList, date });
|
|
64
64
|
}
|
|
65
65
|
toBytes() {
|
|
66
66
|
const buffer = new CommandBinaryBuffer(COMMAND_BODY_MAX_SIZE);
|
|
67
|
-
const {
|
|
68
|
-
const { seconds } =
|
|
67
|
+
const { channelList } = this.parameters;
|
|
68
|
+
const { seconds } = channelList[0];
|
|
69
69
|
const realDate = getDateFromSeconds(seconds);
|
|
70
70
|
const hour = realDate.getUTCHours();
|
|
71
|
-
let
|
|
71
|
+
let hours = channelList[0].diff.length;
|
|
72
72
|
// TODO: add link to doc
|
|
73
|
-
if (
|
|
74
|
-
|
|
73
|
+
if (hours === 1) {
|
|
74
|
+
hours = 0;
|
|
75
75
|
}
|
|
76
76
|
buffer.setDate(seconds);
|
|
77
|
-
buffer.setHours(hour,
|
|
78
|
-
buffer.setChannels(
|
|
79
|
-
for (const { value, diff, pulseCoefficient } of
|
|
77
|
+
buffer.setHours(hour, hours);
|
|
78
|
+
buffer.setChannels(channelList);
|
|
79
|
+
for (const { value, diff, pulseCoefficient } of channelList) {
|
|
80
80
|
buffer.setUint8(pulseCoefficient);
|
|
81
81
|
buffer.setExtendedValue(value);
|
|
82
82
|
for (const { value: diffValue } of diff) {
|
|
@@ -86,8 +86,8 @@ class ExAbsArchiveHourMul extends GetCurrentMul {
|
|
|
86
86
|
return Command.toBytes(COMMAND_ID, buffer.getBytesToOffset());
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
export default
|
|
93
|
-
//# sourceMappingURL=
|
|
89
|
+
ExAbsArchiveHourMC.id = COMMAND_ID;
|
|
90
|
+
ExAbsArchiveHourMC.directionType = UPLINK;
|
|
91
|
+
ExAbsArchiveHourMC.title = COMMAND_TITLE;
|
|
92
|
+
export default ExAbsArchiveHourMC;
|
|
93
|
+
//# sourceMappingURL=ExAbsArchiveHoursMC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExAbsArchiveHoursMC.js","sourceRoot":"","sources":["../../../src/commands/uplink/ExAbsArchiveHoursMC.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
declare class
|
|
1
|
+
import GetCurrentMC from './GetCurrentMC.js';
|
|
2
|
+
declare class ExAbsDayMC extends GetCurrentMC {
|
|
3
3
|
parameters: any;
|
|
4
4
|
constructor(parameters: any);
|
|
5
5
|
static id: number;
|
|
@@ -8,4 +8,4 @@ declare class ExAbsDayMul extends GetCurrentMul {
|
|
|
8
8
|
static fromBytes(data: Uint8Array): any;
|
|
9
9
|
toBytes(): Uint8Array;
|
|
10
10
|
}
|
|
11
|
-
export default
|
|
11
|
+
export default ExAbsDayMC;
|