jooby-codec 3.11.0 → 3.12.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 +32 -0
- package/dist/Command.js +31 -0
- package/dist/Command.js.map +1 -0
- package/dist/analog/Command.d.ts +3 -25
- package/dist/analog/Command.js +3 -20
- package/dist/analog/Command.js.map +1 -1
- package/dist/analog/UnknownCommand.d.ts +2 -3
- package/dist/analog/UnknownCommand.js +3 -4
- package/dist/analog/UnknownCommand.js.map +1 -1
- package/dist/analog/commands/DataSegmentBase.d.ts +2 -3
- package/dist/analog/commands/DataSegmentBase.js +3 -4
- package/dist/analog/commands/DataSegmentBase.js.map +1 -1
- package/dist/analog/splitBytesToDataSegments.js +3 -0
- package/dist/analog/splitBytesToDataSegments.js.map +1 -1
- package/dist/mtx/Command.d.ts +3 -27
- package/dist/mtx/Command.js +3 -28
- package/dist/mtx/Command.js.map +1 -1
- package/dist/mtx/CommandBinaryBuffer.d.ts +28 -28
- package/dist/mtx/CommandBinaryBuffer.js +48 -71
- package/dist/mtx/CommandBinaryBuffer.js.map +1 -1
- package/dist/mtx/UnknownCommand.d.ts +2 -3
- package/dist/mtx/UnknownCommand.js +3 -4
- package/dist/mtx/UnknownCommand.js.map +1 -1
- package/dist/mtx/commands/downlink/SetCorrectDateTime.d.ts +1 -1
- package/dist/mtx/commands/downlink/SetCorrectDateTime.js +2 -2
- package/dist/mtx/commands/downlink/SetCorrectDateTime.js.map +1 -1
- package/dist/mtx/commands/downlink/SetDateTime.js +7 -7
- package/dist/mtx/commands/downlink/SetDateTime.js.map +1 -1
- package/dist/mtx/commands/uplink/GetDateTimeResponse.js +1 -1
- package/dist/mtx/commands/uplink/GetDateTimeResponse.js.map +1 -1
- package/dist/mtx/commands/uplink/SetCorrectDateTimeResponse.d.ts +1 -1
- package/dist/mtx/commands/uplink/SetCorrectDateTimeResponse.js +2 -2
- package/dist/mtx/commands/uplink/SetCorrectDateTimeResponse.js.map +1 -1
- package/dist/mtx/commands/uplink/SetDateTimeResponse.d.ts +1 -1
- package/dist/mtx/commands/uplink/SetDateTimeResponse.js +2 -2
- package/dist/mtx/commands/uplink/SetDateTimeResponse.js.map +1 -1
- package/dist/mtx/constants/screenIds.d.ts +29 -22
- package/dist/mtx/constants/screenIds.js +29 -22
- package/dist/mtx/constants/screenIds.js.map +1 -1
- package/dist/mtx/constants/screenSets.js +29 -21
- package/dist/mtx/constants/screenSets.js.map +1 -1
- package/dist/mtx/message.js +1 -1
- package/dist/mtx/message.js.map +1 -1
- package/dist/mtxLora/Command.d.ts +9 -1
- package/dist/mtxLora/Command.js +5 -1
- package/dist/mtxLora/Command.js.map +1 -1
- package/dist/mtxLora/CommandBinaryBuffer.d.ts +1 -0
- package/dist/mtxLora/CommandBinaryBuffer.js +1 -1
- package/dist/mtxLora/CommandBinaryBuffer.js.map +1 -1
- package/dist/mtxLora/commands/downlink/GetHalfhoursEnergies.d.ts +1 -1
- package/dist/mtxLora/commands/downlink/GetHalfhoursEnergies.js +2 -2
- package/dist/mtxLora/commands/uplink/GetDayEnergies.d.ts +2 -1
- package/dist/mtxLora/commands/uplink/GetDayEnergies.js +39 -2
- package/dist/mtxLora/commands/uplink/GetDayEnergies.js.map +1 -1
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.d.ts +2 -1
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.js +39 -2
- package/dist/mtxLora/commands/uplink/GetDayMaxPower.js.map +1 -1
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.d.ts +3 -2
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.js +41 -4
- package/dist/mtxLora/commands/uplink/GetHalfhoursEnergies.js.map +1 -1
- package/dist/mtxLora/message.js +1 -1
- package/dist/mtxLora/message.js.map +1 -1
- package/dist/obis-observer/Command.d.ts +3 -25
- package/dist/obis-observer/Command.js +3 -26
- package/dist/obis-observer/Command.js.map +1 -1
- package/dist/obis-observer/UnknownCommand.d.ts +2 -3
- package/dist/obis-observer/UnknownCommand.js +3 -4
- package/dist/obis-observer/UnknownCommand.js.map +1 -1
- package/dist/utils/bytesConversion.d.ts +6 -1
- package/dist/utils/bytesConversion.js +10 -3
- package/dist/utils/bytesConversion.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
-
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE, defaultDlmsJsonOptions } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer, { TARIFF_NUMBER } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x78;
|
|
5
5
|
const DATE_SIZE = 3;
|
|
@@ -27,6 +27,32 @@ const examples = [
|
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
];
|
|
30
|
+
const energiesToObis = {
|
|
31
|
+
'A+': '1.8.x',
|
|
32
|
+
'A+R+': '3.8.x',
|
|
33
|
+
'A+R-': '4.8.x',
|
|
34
|
+
'A-': '2.8.x',
|
|
35
|
+
'A-R+': '7.8.x',
|
|
36
|
+
'A-R-': '8.8.x'
|
|
37
|
+
};
|
|
38
|
+
const convertEnergyToObis = (energy, tariff = 0) => {
|
|
39
|
+
const obis = energiesToObis[energy];
|
|
40
|
+
return obis ? obis.replace('x', tariff.toString(10)) : '';
|
|
41
|
+
};
|
|
42
|
+
const convertTariffsEnergiesToDlms = (energies) => {
|
|
43
|
+
const dlms = {};
|
|
44
|
+
for (let tariff = 0; tariff < TARIFF_NUMBER; tariff++) {
|
|
45
|
+
const tariffEnergies = energies[tariff];
|
|
46
|
+
if (tariffEnergies) {
|
|
47
|
+
for (const [energy, value] of Object.entries(tariffEnergies)) {
|
|
48
|
+
if (value || value === 0) {
|
|
49
|
+
dlms[convertEnergyToObis(energy, tariff + 1)] = value;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return dlms;
|
|
55
|
+
};
|
|
30
56
|
class GetDayEnergies extends Command {
|
|
31
57
|
constructor(parameters) {
|
|
32
58
|
super();
|
|
@@ -50,6 +76,17 @@ class GetDayEnergies extends Command {
|
|
|
50
76
|
...buffer.getBytesToOffset()
|
|
51
77
|
]);
|
|
52
78
|
}
|
|
79
|
+
toJson({ dlms } = defaultDlmsJsonOptions) {
|
|
80
|
+
const { parameters } = this;
|
|
81
|
+
const { date, energies } = parameters;
|
|
82
|
+
const result = dlms
|
|
83
|
+
? {
|
|
84
|
+
date,
|
|
85
|
+
...convertTariffsEnergiesToDlms(energies)
|
|
86
|
+
}
|
|
87
|
+
: parameters;
|
|
88
|
+
return JSON.stringify(result);
|
|
89
|
+
}
|
|
53
90
|
}
|
|
54
91
|
GetDayEnergies.id = COMMAND_ID;
|
|
55
92
|
GetDayEnergies.directionType = UPLINK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetDayEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayEnergies.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GetDayEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayEnergies.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Command, { TCommandExampleList } from '../../Command.js';
|
|
1
|
+
import Command, { TCommandExampleList, IDlmsJsonOptions } from '../../Command.js';
|
|
2
2
|
import { IDate, TTariffsPowerMax } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
interface IGetDayMaxPower {
|
|
4
4
|
date: IDate;
|
|
@@ -14,5 +14,6 @@ declare class GetDayMaxPower extends Command {
|
|
|
14
14
|
static readonly maxSize = 148;
|
|
15
15
|
static fromBytes(data: Uint8Array): GetDayMaxPower;
|
|
16
16
|
toBytes(): Uint8Array;
|
|
17
|
+
toJson({ dlms }?: IDlmsJsonOptions): string;
|
|
17
18
|
}
|
|
18
19
|
export default GetDayMaxPower;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
-
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE, defaultDlmsJsonOptions } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer, { TARIFF_NUMBER } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../../constants/directions.js';
|
|
4
4
|
const COMMAND_ID = 0x79;
|
|
5
5
|
const DATE_SIZE = 3;
|
|
@@ -35,6 +35,32 @@ const examples = [
|
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
];
|
|
38
|
+
const energiesToObis = {
|
|
39
|
+
'A+': '1.6.x',
|
|
40
|
+
'A+R+': '3.6.x',
|
|
41
|
+
'A+R-': '4.6.x',
|
|
42
|
+
'A-': '2.6.x',
|
|
43
|
+
'A-R+': '7.6.x',
|
|
44
|
+
'A-R-': '8.6.x'
|
|
45
|
+
};
|
|
46
|
+
const convertEnergyToObis = (energy, tariff = 0) => {
|
|
47
|
+
const obis = energiesToObis[energy];
|
|
48
|
+
return obis ? obis.replace('x', tariff.toString(10)) : '';
|
|
49
|
+
};
|
|
50
|
+
const convertTariffsPowerMaxToDlms = (energies) => {
|
|
51
|
+
const dlms = {};
|
|
52
|
+
for (let tariff = 0; tariff < TARIFF_NUMBER; tariff++) {
|
|
53
|
+
const tariffEnergies = energies[tariff];
|
|
54
|
+
if (tariffEnergies) {
|
|
55
|
+
for (const [energy, value] of Object.entries(tariffEnergies)) {
|
|
56
|
+
if (value || value === 0) {
|
|
57
|
+
dlms[convertEnergyToObis(energy, tariff + 1)] = value;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return dlms;
|
|
63
|
+
};
|
|
38
64
|
class GetDayMaxPower extends Command {
|
|
39
65
|
constructor(parameters) {
|
|
40
66
|
super();
|
|
@@ -58,6 +84,17 @@ class GetDayMaxPower extends Command {
|
|
|
58
84
|
...buffer.getBytesToOffset()
|
|
59
85
|
]);
|
|
60
86
|
}
|
|
87
|
+
toJson({ dlms } = defaultDlmsJsonOptions) {
|
|
88
|
+
const { parameters } = this;
|
|
89
|
+
const { date, tariffs } = parameters;
|
|
90
|
+
const result = dlms
|
|
91
|
+
? {
|
|
92
|
+
date,
|
|
93
|
+
...convertTariffsPowerMaxToDlms(tariffs)
|
|
94
|
+
}
|
|
95
|
+
: parameters;
|
|
96
|
+
return JSON.stringify(result);
|
|
97
|
+
}
|
|
61
98
|
}
|
|
62
99
|
GetDayMaxPower.id = COMMAND_ID;
|
|
63
100
|
GetDayMaxPower.directionType = UPLINK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetDayMaxPower.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayMaxPower.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GetDayMaxPower.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetDayMaxPower.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import Command, { TCommandExampleList } from '../../Command.js';
|
|
1
|
+
import Command, { TCommandExampleList, IDlmsJsonOptions } from '../../Command.js';
|
|
2
2
|
import { IDate, THalfhoursEnergies } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
interface IGetHalfhoursEnergies {
|
|
4
4
|
date: IDate;
|
|
@@ -9,12 +9,13 @@ interface IGetHalfhoursEnergies {
|
|
|
9
9
|
declare class GetHalfhoursEnergies extends Command {
|
|
10
10
|
parameters: IGetHalfhoursEnergies;
|
|
11
11
|
constructor(parameters: IGetHalfhoursEnergies);
|
|
12
|
-
static readonly id =
|
|
12
|
+
static readonly id = 111;
|
|
13
13
|
static readonly directionType = 2;
|
|
14
14
|
static readonly examples: TCommandExampleList;
|
|
15
15
|
static readonly hasParameters = true;
|
|
16
16
|
static readonly maxSize = 256;
|
|
17
17
|
static fromBytes(data: Uint8Array): GetHalfhoursEnergies;
|
|
18
18
|
toBytes(): Uint8Array;
|
|
19
|
+
toJson({ dlms }?: IDlmsJsonOptions): string;
|
|
19
20
|
}
|
|
20
21
|
export default GetHalfhoursEnergies;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import Command, { COMMAND_HEADER_SIZE } from '../../Command.js';
|
|
2
|
-
import CommandBinaryBuffer from '../../CommandBinaryBuffer.js';
|
|
1
|
+
import Command, { COMMAND_HEADER_SIZE, defaultDlmsJsonOptions } from '../../Command.js';
|
|
2
|
+
import CommandBinaryBuffer, { TARIFF_NUMBER } from '../../CommandBinaryBuffer.js';
|
|
3
3
|
import { UPLINK } from '../../../constants/directions.js';
|
|
4
|
-
const COMMAND_ID =
|
|
4
|
+
const COMMAND_ID = 0x6f;
|
|
5
5
|
const DATE_SIZE = 3;
|
|
6
6
|
const MAX_HALFHOURS_ENERGY_SIZE = 5 * 3 * 4;
|
|
7
7
|
const COMMAND_MAX_SIZE = DATE_SIZE + MAX_HALFHOURS_ENERGY_SIZE;
|
|
@@ -22,11 +22,35 @@ const examples = [
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
hex: {
|
|
25
|
-
header: '
|
|
25
|
+
header: '6f 15',
|
|
26
26
|
body: '2a 43 11 01 02 00 00 10 00 00 00 20 00 00 00 30 00 00 00 40 00'
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
];
|
|
30
|
+
const energiesToObis = {
|
|
31
|
+
'A+': '1.5.x',
|
|
32
|
+
'A+R+': '3.5.x',
|
|
33
|
+
'A+R-': '4.5.x',
|
|
34
|
+
'A-': '2.5.x',
|
|
35
|
+
'A-R+': '6.5.x',
|
|
36
|
+
'A-R-': '7.5.x'
|
|
37
|
+
};
|
|
38
|
+
const convertEnergyToObis = (energy, tariff = 0) => {
|
|
39
|
+
const obis = energiesToObis[energy];
|
|
40
|
+
return obis ? obis.replace('x', tariff.toString(10)) : '';
|
|
41
|
+
};
|
|
42
|
+
const convertHalfhoursEnergiesToDlms = (energies) => {
|
|
43
|
+
const dlms = {};
|
|
44
|
+
for (const [energy, values] of Object.entries(energies)) {
|
|
45
|
+
for (let tariff = 0; tariff < TARIFF_NUMBER; tariff++) {
|
|
46
|
+
const value = values[tariff];
|
|
47
|
+
if (value || value === 0) {
|
|
48
|
+
dlms[convertEnergyToObis(energy, tariff + 1)] = value;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return dlms;
|
|
53
|
+
};
|
|
30
54
|
class GetHalfhoursEnergies extends Command {
|
|
31
55
|
constructor(parameters) {
|
|
32
56
|
super();
|
|
@@ -59,6 +83,19 @@ class GetHalfhoursEnergies extends Command {
|
|
|
59
83
|
...buffer.getBytesToOffset()
|
|
60
84
|
]);
|
|
61
85
|
}
|
|
86
|
+
toJson({ dlms } = defaultDlmsJsonOptions) {
|
|
87
|
+
const { parameters } = this;
|
|
88
|
+
const { date, firstHalfhour, halfhoursNumber, energies } = parameters;
|
|
89
|
+
const result = dlms
|
|
90
|
+
? {
|
|
91
|
+
date,
|
|
92
|
+
firstHalfhour,
|
|
93
|
+
halfhoursNumber,
|
|
94
|
+
...convertHalfhoursEnergiesToDlms(energies)
|
|
95
|
+
}
|
|
96
|
+
: parameters;
|
|
97
|
+
return JSON.stringify(result);
|
|
98
|
+
}
|
|
62
99
|
}
|
|
63
100
|
GetHalfhoursEnergies.id = COMMAND_ID;
|
|
64
101
|
GetHalfhoursEnergies.directionType = UPLINK;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GetHalfhoursEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetHalfhoursEnergies.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAsB,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"GetHalfhoursEnergies.js","sourceRoot":"","sources":["../../../../src/mtxLora/commands/uplink/GetHalfhoursEnergies.ts"],"names":[],"mappings":"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"}
|
package/dist/mtxLora/message.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { COMMAND_HEADER_SIZE } from './Command.js';
|
|
1
2
|
import UnknownCommand from './UnknownCommand.js';
|
|
2
3
|
import { requestById as mtxLoraRequestById, responseById as mtxLoraResponseById } from './constants/commandRelations.js';
|
|
3
4
|
import { requestById as mtxRequestById, responseById as mtxResponseById } from '../mtx/constants/commandRelations.js';
|
|
@@ -12,7 +13,6 @@ import * as directionTypes from '../constants/directions.js';
|
|
|
12
13
|
import { AUTO, DOWNLINK, UPLINK } from '../constants/directions.js';
|
|
13
14
|
import { UNENCRYPTED } from '../mtx/constants/accessLevels.js';
|
|
14
15
|
const ACCESS_LEVEL_MASK = 0x03;
|
|
15
|
-
const COMMAND_HEADER_SIZE = 2;
|
|
16
16
|
const PROTOCOL_VERSION = 0x10;
|
|
17
17
|
const BLOCK_SIZE = 16;
|
|
18
18
|
const directionTypeIds = new Set(Object.values(directionTypes));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/mtxLora/message.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message.js","sourceRoot":"","sources":["../../src/mtxLora/message.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,6 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
|
|
4
|
-
parameters?: object;
|
|
5
|
-
hardwareType?: number;
|
|
6
|
-
hex: {
|
|
7
|
-
header: string;
|
|
8
|
-
body: string;
|
|
9
|
-
};
|
|
10
|
-
}
|
|
11
|
-
export type TCommandExampleList = Array<ICommandExample>;
|
|
12
|
-
declare abstract class Command {
|
|
13
|
-
static id: number;
|
|
14
|
-
static directionType: unknown;
|
|
15
|
-
static title: string;
|
|
16
|
-
static examples: TCommandExampleList;
|
|
17
|
-
static hasParameters: boolean;
|
|
18
|
-
parameters: unknown;
|
|
19
|
-
size: number;
|
|
20
|
-
static getId(): string;
|
|
1
|
+
import BaseCommand from '../Command.js';
|
|
2
|
+
export { ICommandExample, TCommandExampleList, TJsonOptions, defaultJsonOptions } from '../Command.js';
|
|
3
|
+
declare abstract class Command extends BaseCommand {
|
|
21
4
|
static toBytes(id: number, commandData?: Uint8Array): Uint8Array;
|
|
22
|
-
getParameters(): unknown;
|
|
23
|
-
toBytes(): Uint8Array;
|
|
24
|
-
toHex(options?: IHexFormatOptions): string;
|
|
25
|
-
toBase64(): string;
|
|
26
|
-
toJson(): string;
|
|
27
5
|
}
|
|
28
6
|
export default Command;
|
|
@@ -1,14 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import getHexFromNumber from '../utils/getHexFromNumber.js';
|
|
3
|
-
import getBase64FromBytes from '../utils/getBase64FromBytes.js';
|
|
1
|
+
import BaseCommand from '../Command.js';
|
|
4
2
|
import mergeUint8Arrays from '../utils/mergeUint8Arrays.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
this.size = 0;
|
|
8
|
-
}
|
|
9
|
-
static getId() {
|
|
10
|
-
return getHexFromNumber(this.id);
|
|
11
|
-
}
|
|
3
|
+
export { defaultJsonOptions } from '../Command.js';
|
|
4
|
+
class Command extends BaseCommand {
|
|
12
5
|
static toBytes(id, commandData) {
|
|
13
6
|
const commandLength = commandData?.length ?? 0;
|
|
14
7
|
const headerData = new Uint8Array([id, commandLength]);
|
|
@@ -17,22 +10,6 @@ class Command {
|
|
|
17
10
|
}
|
|
18
11
|
return headerData;
|
|
19
12
|
}
|
|
20
|
-
getParameters() {
|
|
21
|
-
return this.parameters;
|
|
22
|
-
}
|
|
23
|
-
toBytes() {
|
|
24
|
-
throw new Error('not implemented!');
|
|
25
|
-
}
|
|
26
|
-
toHex(options = {}) {
|
|
27
|
-
return getHexFromBytes(this.toBytes(), options);
|
|
28
|
-
}
|
|
29
|
-
toBase64() {
|
|
30
|
-
return getBase64FromBytes(this.toBytes());
|
|
31
|
-
}
|
|
32
|
-
toJson() {
|
|
33
|
-
return JSON.stringify(this.getParameters());
|
|
34
|
-
}
|
|
35
13
|
}
|
|
36
|
-
Command.hasParameters = false;
|
|
37
14
|
export default Command;
|
|
38
15
|
//# sourceMappingURL=Command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Command.js","sourceRoot":"","sources":["../../src/obis-observer/Command.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Command.js","sourceRoot":"","sources":["../../src/obis-observer/Command.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AACxC,OAAO,gBAAgB,MAAM,8BAA8B,CAAC;AAG5D,OAAO,EAAqD,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAMrG,MAAe,OAAQ,SAAQ,WAAW;IAQtC,MAAM,CAAC,OAAO,CAAG,EAAU,EAAE,WAAwB;QACjD,MAAM,aAAa,GAAG,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC,CAAC;QAEvD,IAAK,WAAW,IAAI,aAAa,EAAG,CAAC;YACjC,OAAO,gBAAgB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAGD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ;AAGD,eAAe,OAAO,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import Command from './Command.js';
|
|
2
|
-
import { TBytesConversionFormatOptions } from '../utils/bytesConversion.js';
|
|
1
|
+
import Command, { TJsonOptions } from './Command.js';
|
|
3
2
|
interface IUnknownCommandParameters {
|
|
4
3
|
id: number;
|
|
5
4
|
data: Uint8Array;
|
|
@@ -9,6 +8,6 @@ declare class UnknownCommand extends Command {
|
|
|
9
8
|
constructor(parameters: IUnknownCommandParameters);
|
|
10
9
|
static fromBytes(data: Uint8Array, id: number): UnknownCommand;
|
|
11
10
|
toBytes(): Uint8Array;
|
|
12
|
-
toJson(
|
|
11
|
+
toJson(options?: TJsonOptions): string;
|
|
13
12
|
}
|
|
14
13
|
export default UnknownCommand;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import Command from './Command.js';
|
|
2
|
-
import { HEX } from '../constants/bytesConversionFormats.js';
|
|
1
|
+
import Command, { defaultJsonOptions } from './Command.js';
|
|
3
2
|
import { getStringFromBytes } from '../utils/bytesConversion.js';
|
|
4
3
|
class UnknownCommand extends Command {
|
|
5
4
|
constructor(parameters) {
|
|
@@ -14,11 +13,11 @@ class UnknownCommand extends Command {
|
|
|
14
13
|
const { id, data } = this.parameters;
|
|
15
14
|
return Command.toBytes(id, data);
|
|
16
15
|
}
|
|
17
|
-
toJson(
|
|
16
|
+
toJson(options = defaultJsonOptions) {
|
|
18
17
|
const { id, data } = this.parameters;
|
|
19
18
|
return JSON.stringify({
|
|
20
19
|
id,
|
|
21
|
-
data: getStringFromBytes(data,
|
|
20
|
+
data: getStringFromBytes(data, options)
|
|
22
21
|
});
|
|
23
22
|
}
|
|
24
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnknownCommand.js","sourceRoot":"","sources":["../../src/obis-observer/UnknownCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,
|
|
1
|
+
{"version":3,"file":"UnknownCommand.js","sourceRoot":"","sources":["../../src/obis-observer/UnknownCommand.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EAAe,kBAAkB,EAAC,MAAM,cAAc,CAAC;AACvE,OAAO,EAAC,kBAAkB,EAAC,MAAM,6BAA6B,CAAC;AAiB/D,MAAM,cAAe,SAAQ,OAAO;IAChC,YAAqB,UAAqC;QACtD,KAAK,EAAE,CAAC;QADS,eAAU,GAAV,UAAU,CAA2B;IAE1D,CAAC;IAGD,MAAM,CAAC,SAAS,CAAG,IAAgB,EAAE,EAAU;QAC3C,MAAM,UAAU,GAA8B,EAAC,EAAE,EAAE,IAAI,EAAC,CAAC;QAEzD,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IAGD,OAAO;QACH,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAG,UAAwB,kBAAkB;QAC/C,MAAM,EAAC,EAAE,EAAE,IAAI,EAAC,GAAG,IAAI,CAAC,UAAU,CAAC;QAEnC,OAAO,IAAI,CAAC,SAAS,CAAC;YAClB,EAAE;YACF,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,OAAO,CAAC;SAC1C,CAAC,CAAC;IACP,CAAC;CACJ;AAGD,eAAe,cAAc,CAAC"}
|
|
@@ -2,6 +2,11 @@ import { IHexFormatOptions } from '../config.js';
|
|
|
2
2
|
interface IBase64FormatOptions {
|
|
3
3
|
}
|
|
4
4
|
export type TBytesConversionFormatOptions = IHexFormatOptions | IBase64FormatOptions;
|
|
5
|
-
export
|
|
5
|
+
export interface IBytesConversionFormatOptions {
|
|
6
|
+
bytesConversionFormat: number;
|
|
7
|
+
bytesConversionFormatOptions: TBytesConversionFormatOptions;
|
|
8
|
+
}
|
|
9
|
+
export declare const defaultFormatOptions: IBytesConversionFormatOptions;
|
|
10
|
+
export declare const getStringFromBytes: (bytes: Uint8Array, options?: IBytesConversionFormatOptions) => string;
|
|
6
11
|
export declare const getBytesFromString: (data: string, bytesConversionFormat?: number) => Uint8Array;
|
|
7
12
|
export {};
|
|
@@ -3,8 +3,15 @@ import getBase64FromBytes from './getBase64FromBytes.js';
|
|
|
3
3
|
import getBytesFromBase64 from './getBytesFromBase64.js';
|
|
4
4
|
import getBytesFromHex from './getBytesFromHex.js';
|
|
5
5
|
import getHexFromBytes from './getHexFromBytes.js';
|
|
6
|
-
export const
|
|
7
|
-
|
|
8
|
-
:
|
|
6
|
+
export const defaultFormatOptions = {
|
|
7
|
+
bytesConversionFormat: HEX,
|
|
8
|
+
bytesConversionFormatOptions: {}
|
|
9
|
+
};
|
|
10
|
+
export const getStringFromBytes = (bytes, options = defaultFormatOptions) => {
|
|
11
|
+
const { bytesConversionFormat = defaultFormatOptions.bytesConversionFormat, bytesConversionFormatOptions = defaultFormatOptions.bytesConversionFormatOptions } = options;
|
|
12
|
+
return bytesConversionFormat === HEX
|
|
13
|
+
? getHexFromBytes(bytes, bytesConversionFormatOptions)
|
|
14
|
+
: getBase64FromBytes(bytes);
|
|
15
|
+
};
|
|
9
16
|
export const getBytesFromString = (data, bytesConversionFormat = HEX) => (bytesConversionFormat === HEX ? getBytesFromHex(data) : getBytesFromBase64(data));
|
|
10
17
|
//# sourceMappingURL=bytesConversion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytesConversion.js","sourceRoot":"","sources":["../../src/utils/bytesConversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,wCAAwC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,eAAe,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"bytesConversion.js","sourceRoot":"","sources":["../../src/utils/bytesConversion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,wCAAwC,CAAC;AAC3D,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AACnD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAcnD,MAAM,CAAC,MAAM,oBAAoB,GAAkC;IAC/D,qBAAqB,EAAE,GAAG;IAC1B,4BAA4B,EAAE,EAAE;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAC9B,KAAiB,EACjB,UAAyC,oBAAoB,EAC/D,EAAE;IACA,MAAM,EACF,qBAAqB,GAAG,oBAAoB,CAAC,qBAAqB,EAClE,4BAA4B,GAAG,oBAAoB,CAAC,4BAA4B,EACnF,GAAG,OAAO,CAAC;IAEZ,OAAO,qBAAqB,KAAK,GAAG;QAChC,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,4BAA4B,CAAC;QACtD,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAE,IAAY,EAAE,wBAAgC,GAAG,EAAG,EAAE,CAAC,CACvF,qBAAqB,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CACnF,CAAC"}
|