duml-packet
Advanced tools
Comparing version 2.0.1 to 2.0.2
@@ -6,18 +6,22 @@ // Based off | ||
const crc8WireTable = new Int8Array([ | ||
0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3, 0xfd, 0x1f, 0x41, | ||
0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01, 0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, | ||
0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, 0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, | ||
0xbe, 0xe0, 0x02, 0x5c, 0xdf, 0x81, 0x63, 0x3d, 0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, | ||
0x46, 0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, 0x59, 0x07, | ||
0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5, 0xfb, 0x78, 0x26, 0xc4, 0x9a, | ||
0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6, 0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, | ||
0xf8, 0xa6, 0x44, 0x1a, 0x99, 0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, | ||
0x8c, 0xd2, 0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, 0xcd, | ||
0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92, 0xd3, 0x8d, 0x6f, 0x31, 0xb2, 0xec, 0x0e, 0x50, | ||
0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d, 0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee, | ||
0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, 0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73, | ||
0xca, 0x94, 0x76, 0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b, | ||
0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4, 0xaa, 0x48, 0x16, | ||
0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75, 0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, | ||
0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, 0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35, | ||
0x00, 0x5e, 0xbc, 0xe2, 0x61, 0x3f, 0xdd, 0x83, 0xc2, 0x9c, 0x7e, 0x20, 0xa3, | ||
0xfd, 0x1f, 0x41, 0x9d, 0xc3, 0x21, 0x7f, 0xfc, 0xa2, 0x40, 0x1e, 0x5f, 0x01, | ||
0xe3, 0xbd, 0x3e, 0x60, 0x82, 0xdc, 0x23, 0x7d, 0x9f, 0xc1, 0x42, 0x1c, 0xfe, | ||
0xa0, 0xe1, 0xbf, 0x5d, 0x03, 0x80, 0xde, 0x3c, 0x62, 0xbe, 0xe0, 0x02, 0x5c, | ||
0xdf, 0x81, 0x63, 0x3d, 0x7c, 0x22, 0xc0, 0x9e, 0x1d, 0x43, 0xa1, 0xff, 0x46, | ||
0x18, 0xfa, 0xa4, 0x27, 0x79, 0x9b, 0xc5, 0x84, 0xda, 0x38, 0x66, 0xe5, 0xbb, | ||
0x59, 0x07, 0xdb, 0x85, 0x67, 0x39, 0xba, 0xe4, 0x06, 0x58, 0x19, 0x47, 0xa5, | ||
0xfb, 0x78, 0x26, 0xc4, 0x9a, 0x65, 0x3b, 0xd9, 0x87, 0x04, 0x5a, 0xb8, 0xe6, | ||
0xa7, 0xf9, 0x1b, 0x45, 0xc6, 0x98, 0x7a, 0x24, 0xf8, 0xa6, 0x44, 0x1a, 0x99, | ||
0xc7, 0x25, 0x7b, 0x3a, 0x64, 0x86, 0xd8, 0x5b, 0x05, 0xe7, 0xb9, 0x8c, 0xd2, | ||
0x30, 0x6e, 0xed, 0xb3, 0x51, 0x0f, 0x4e, 0x10, 0xf2, 0xac, 0x2f, 0x71, 0x93, | ||
0xcd, 0x11, 0x4f, 0xad, 0xf3, 0x70, 0x2e, 0xcc, 0x92, 0xd3, 0x8d, 0x6f, 0x31, | ||
0xb2, 0xec, 0x0e, 0x50, 0xaf, 0xf1, 0x13, 0x4d, 0xce, 0x90, 0x72, 0x2c, 0x6d, | ||
0x33, 0xd1, 0x8f, 0x0c, 0x52, 0xb0, 0xee, 0x32, 0x6c, 0x8e, 0xd0, 0x53, 0x0d, | ||
0xef, 0xb1, 0xf0, 0xae, 0x4c, 0x12, 0x91, 0xcf, 0x2d, 0x73, 0xca, 0x94, 0x76, | ||
0x28, 0xab, 0xf5, 0x17, 0x49, 0x08, 0x56, 0xb4, 0xea, 0x69, 0x37, 0xd5, 0x8b, | ||
0x57, 0x09, 0xeb, 0xb5, 0x36, 0x68, 0x8a, 0xd4, 0x95, 0xcb, 0x29, 0x77, 0xf4, | ||
0xaa, 0x48, 0x16, 0xe9, 0xb7, 0x55, 0x0b, 0x88, 0xd6, 0x34, 0x6a, 0x2b, 0x75, | ||
0x97, 0xc9, 0x4a, 0x14, 0xf6, 0xa8, 0x74, 0x2a, 0xc8, 0x96, 0x15, 0x4b, 0xa9, | ||
0xf7, 0xb6, 0xe8, 0x0a, 0x54, 0xd7, 0x89, 0x6b, 0x35, | ||
]); | ||
@@ -33,23 +37,30 @@ const crc8Wire = (buffer) => { | ||
const crc16KermitTable = new Int16Array([ | ||
0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, 0x9dc1, 0xaf5a, 0xbed3, | ||
0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, | ||
0x9cc9, 0x8d40, 0xbfdb, 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, | ||
0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, 0xfae7, 0xc87c, 0xd9f5, | ||
0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, 0x54b5, 0x453c, 0xbdcb, 0xac42, 0x9ed9, 0x8f50, | ||
0xfbef, 0xea66, 0xd8fd, 0xc974, 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb, | ||
0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3, 0x5285, 0x430c, 0x7197, 0x601e, | ||
0x14a1, 0x0528, 0x37b3, 0x263a, 0xdecd, 0xcf44, 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, | ||
0x6306, 0x728f, 0x4014, 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9, 0xef4e, 0xfec7, 0xcc5c, 0xddd5, | ||
0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, 0x242a, 0x16b1, 0x0738, | ||
0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, | ||
0xc22c, 0xd3a5, 0xe13e, 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, | ||
0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, 0x0948, 0x3bd3, 0x2a5a, | ||
0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, | ||
0x2942, 0x38cb, 0x0a50, 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, | ||
0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, 0x6e6e, 0x5cf5, 0x4d7c, | ||
0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, | ||
0x0c60, 0x1de9, 0x2f72, 0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, | ||
0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, 0xf687, 0xc41c, 0xd595, | ||
0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, | ||
0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, | ||
0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, | ||
0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, | ||
0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, 0x9cc9, 0x8d40, 0xbfdb, | ||
0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, | ||
0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, | ||
0xfae7, 0xc87c, 0xd9f5, 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, | ||
0x54b5, 0x453c, 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, | ||
0xc974, 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb, | ||
0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3, 0x5285, | ||
0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a, 0xdecd, 0xcf44, | ||
0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, 0x6306, 0x728f, 0x4014, | ||
0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9, 0xef4e, 0xfec7, 0xcc5c, 0xddd5, | ||
0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, | ||
0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, | ||
0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, | ||
0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, | ||
0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, | ||
0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, | ||
0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, 0x2942, 0x38cb, 0x0a50, | ||
0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, | ||
0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, | ||
0x6e6e, 0x5cf5, 0x4d7c, 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, | ||
0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, | ||
0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, | ||
0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, | ||
0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, | ||
0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, | ||
0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, | ||
0x3de3, 0x2c6a, 0x1ef1, 0x0f78, | ||
@@ -61,3 +72,5 @@ ]); | ||
for (let index = 0; index < buffer.length; index++) { | ||
crc = (crc16KermitTable.at((crc ^ buffer.at(index)) & 0xff) & 0xffff) ^ (crc >>> 8); | ||
crc = | ||
(crc16KermitTable.at((crc ^ buffer.at(index)) & 0xff) & 0xffff) ^ | ||
(crc >>> 8); | ||
} | ||
@@ -290,4 +303,8 @@ return crc; | ||
// We need to calculate this for the length | ||
this.commandPayload = packet.commandPayload ? packet.commandPayload : undefined; | ||
this.length = packet.length ? packet.length : 13 + ~~this.commandPayload?.length; | ||
this.commandPayload = packet.commandPayload | ||
? packet.commandPayload | ||
: undefined; | ||
this.length = packet.length | ||
? packet.length | ||
: 13 + ~~this.commandPayload?.length; | ||
this.crcHead = packet.crcHead ? packet.crcHead : 0x00; | ||
@@ -300,7 +317,13 @@ this.sourceRaw = packet.sourceRaw ? packet.sourceRaw : 0x00; | ||
else { | ||
this.sourceType = packet.sourceType ? packet.sourceType : DeviceType.ANY; | ||
this.sourceIndex = packet.sourceIndex ? packet.sourceIndex : DeviceType.ANY; | ||
this.sourceType = packet.sourceType | ||
? packet.sourceType | ||
: DeviceType.ANY; | ||
this.sourceIndex = packet.sourceIndex | ||
? packet.sourceIndex | ||
: DeviceType.ANY; | ||
this.sourceRaw = this.sourceType | (this.sourceIndex << 0x5); | ||
} | ||
this.destinationRaw = packet.destinationRaw ? packet.destinationRaw : 0x00; | ||
this.destinationRaw = packet.destinationRaw | ||
? packet.destinationRaw | ||
: 0x00; | ||
if (packet.destinationRaw) { | ||
@@ -311,5 +334,10 @@ this.destinationType = this.destinationRaw & 0x1f; | ||
else { | ||
this.destinationType = packet.destinationType ? packet.destinationType : DeviceType.ANY; | ||
this.destinationIndex = packet.destinationIndex ? packet.destinationIndex : DeviceType.ANY; | ||
this.destinationRaw = this.destinationType | (this.destinationIndex << 0x5); | ||
this.destinationType = packet.destinationType | ||
? packet.destinationType | ||
: DeviceType.ANY; | ||
this.destinationIndex = packet.destinationIndex | ||
? packet.destinationIndex | ||
: DeviceType.ANY; | ||
this.destinationRaw = | ||
this.destinationType | (this.destinationIndex << 0x5); | ||
} | ||
@@ -322,3 +350,5 @@ if (packet.sequenceID !== undefined) { | ||
} | ||
this.commandTypeRaw = packet.commandTypeRaw ? packet.commandTypeRaw : 0x00; | ||
this.commandTypeRaw = packet.commandTypeRaw | ||
? packet.commandTypeRaw | ||
: 0x00; | ||
if (packet.commandTypeRaw) { | ||
@@ -330,6 +360,11 @@ this.commandType = this.commandTypeRaw >> 7; | ||
else { | ||
this.commandType = packet.commandType ? packet.commandType : CommandType.REQUEST; | ||
this.commandType = packet.commandType | ||
? packet.commandType | ||
: CommandType.REQUEST; | ||
this.ackType = packet.ackType ? packet.ackType : AckType.NO_ACK; | ||
this.encryptionType = packet.encryptionType ? packet.encryptionType : EncryptionType.NONE; | ||
this.commandTypeRaw = (this.commandType << 7) | (this.ackType << 5) | this.encryptionType; | ||
this.encryptionType = packet.encryptionType | ||
? packet.encryptionType | ||
: EncryptionType.NONE; | ||
this.commandTypeRaw = | ||
(this.commandType << 7) | (this.ackType << 5) | this.encryptionType; | ||
} | ||
@@ -344,11 +379,13 @@ this.commandSet = packet.commandSet ? packet.commandSet : SetType.GENERAL; | ||
if (autoCalculate) { | ||
// biome-ignore lint/correctness/noConstructorReturn: Needed for proxy objects | ||
return this.createPacketProxy(this); | ||
} | ||
// biome-ignore lint/correctness/noConstructorReturn: Needed for proxy objects | ||
return this; | ||
} | ||
if (!packet.raw || packet.raw.length < 13) { | ||
throw new Error(`Buffer length smaller than minimum size allowed for valid packet`); | ||
throw new Error("Buffer length smaller than minimum size allowed for valid packet"); | ||
} | ||
if (packet.raw[0] !== 0x55) { | ||
throw new Error(`Unexpected magic identifier`); | ||
throw new Error("Unexpected magic identifier"); | ||
} | ||
@@ -359,3 +396,3 @@ this.version = (packet.raw.readUInt16LE(1) & 0xfc00) >> 0xa; | ||
if (this.length > packet.raw.length) { | ||
throw new Error('Packet length larger than provided buffer'); | ||
throw new Error("Packet length larger than provided buffer"); | ||
} | ||
@@ -380,4 +417,6 @@ this.raw = packet.raw; | ||
if (autoCalculate) { | ||
// biome-ignore lint/correctness/noConstructorReturn: Needed for proxy objects | ||
return this.createPacketProxy(this); | ||
} | ||
// biome-ignore lint/correctness/noConstructorReturn: Needed for proxy objects | ||
return this; | ||
@@ -389,3 +428,3 @@ } | ||
// Handle buffer differently since Chai has an odd time with it | ||
if (['buffer', 'length'].includes(propertyName)) { | ||
if (["buffer", "length"].includes(propertyName)) { | ||
return target[propertyName]; | ||
@@ -395,4 +434,4 @@ } | ||
const property = Reflect.get(target, propertyName, receiver); | ||
if (['commandPayload', 'raw'].includes(propertyName) && | ||
typeof target[propertyName] === 'object' && | ||
if (["commandPayload", "raw"].includes(propertyName) && | ||
typeof target[propertyName] === "object" && | ||
target[propertyName] !== null) { | ||
@@ -402,3 +441,5 @@ return new Proxy(target[propertyName], handler); | ||
// Properly bind functions as needed | ||
return typeof property === 'function' ? property.bind(target) : property; | ||
return typeof property === "function" | ||
? property.bind(target) | ||
: property; | ||
}, | ||
@@ -411,4 +452,4 @@ set: (target, propertyName, value) => { | ||
// If someone wants to change raw, just create a new object for them | ||
if (['raw'].includes(propertyName)) { | ||
throw new Error('Cannot directly modify the raw buffer, either modify members or create new packet from a buffer'); | ||
if (["raw"].includes(propertyName)) { | ||
throw new Error("Cannot directly modify the raw buffer, either modify members or create new packet from a buffer"); | ||
} | ||
@@ -458,3 +499,4 @@ const ret = Reflect.set(target, propertyName, value); | ||
buffer.writeUInt16BE(this.sequenceID, 6); | ||
this.commandTypeRaw = (this.commandType << 7) | (this.ackType << 5) | this.encryptionType; | ||
this.commandTypeRaw = | ||
(this.commandType << 7) | (this.ackType << 5) | this.encryptionType; | ||
buffer.writeUInt8(this.commandTypeRaw, 8); | ||
@@ -485,3 +527,3 @@ buffer.writeUInt8(this.commandSet, 9); | ||
toShortString() { | ||
let commandSubType = 'UNKNOWN'; | ||
let commandSubType = "UNKNOWN"; | ||
if (this.commandSet === SetType.GENERAL && GeneralTypes[this.command]) { | ||
@@ -496,3 +538,3 @@ commandSubType = GeneralTypes[this.command]; | ||
`Cmd SubType ${commandSubType} (0x${this.command.toString(16)}), ` + | ||
`Cmd Payload ${this.commandPayload ? `(0x${this.commandPayload.toString('hex')})` : 'NULL'}`); | ||
`Cmd Payload ${this.commandPayload ? `(0x${this.commandPayload.toString("hex")})` : "NULL"}`); | ||
} | ||
@@ -503,3 +545,3 @@ /** | ||
toLongString() { | ||
let commandSubType = 'UNKNOWN'; | ||
let commandSubType = "UNKNOWN"; | ||
if (this.commandSet === SetType.GENERAL && GeneralTypes[this.command]) { | ||
@@ -522,3 +564,5 @@ commandSubType = GeneralTypes[this.command]; | ||
`Cmd SubType:\t${commandSubType} (0x${this.command.toString(16)})\n` + | ||
`Cmd Payload:\t${this.commandPayload ? `(0x${this.commandPayload.toString('hex')})` : 'NULL'}\n` + | ||
`Cmd Payload:\t${this.commandPayload | ||
? `(0x${this.commandPayload.toString("hex")})` | ||
: "NULL"}\n` + | ||
`CRC16:\t\t0x${this.crc.toString(16)}`); | ||
@@ -530,3 +574,3 @@ } | ||
toHexString() { | ||
return this.toBuffer().toString('hex'); | ||
return this.toBuffer().toString("hex"); | ||
} | ||
@@ -557,3 +601,3 @@ /** | ||
static fromHexString(hexString, autoCalculate = true) { | ||
return new Packet({ raw: Buffer.from(hexString, 'hex') }, autoCalculate); | ||
return new Packet({ raw: Buffer.from(hexString, "hex") }, autoCalculate); | ||
} | ||
@@ -560,0 +604,0 @@ } |
@@ -1,6 +0,6 @@ | ||
import yargs from 'yargs'; | ||
import { hideBin } from 'yargs/helpers'; | ||
import yargs from "yargs"; | ||
import { hideBin } from "yargs/helpers"; | ||
yargs(hideBin(process.argv)) | ||
// Use the commands directory to scaffold. | ||
.commandDir('cmds') | ||
.commandDir("cmds") | ||
.demandCommand() | ||
@@ -10,4 +10,4 @@ // Enable strict mode. | ||
// Useful aliases. | ||
.alias({ h: 'help' }) | ||
.alias({ h: "help" }) | ||
.help().argv; | ||
//# sourceMappingURL=cli.js.map |
@@ -1,3 +0,2 @@ | ||
/// <reference types="node" /> | ||
import { EventEmitter } from 'events'; | ||
import { EventEmitter } from 'node:events'; | ||
@@ -4,0 +3,0 @@ interface DumlPacket { |
130
package.json
{ | ||
"name": "duml-packet", | ||
"version": "2.0.1", | ||
"description": "For use when parsing and modifying DUML packets for DJI drones", | ||
"exports": { | ||
"import": "./dist/bundle.js", | ||
"require": "./dist/bundle.cjs" | ||
}, | ||
"bin": { | ||
"dumlpacket": "./dist/cli.js" | ||
}, | ||
"type": "module", | ||
"types": "./dist/index.d.ts", | ||
"scripts": { | ||
"build": "tsc -p . && rollup -c rollup.config.js", | ||
"lint": "eslint . --ext .ts", | ||
"prettier-format": "prettier --config .prettierrc .mocharc.json rollup.config.js package.json tsconfig.json './src/**/*.ts' --write", | ||
"cli": "ts-node dist/cli.js", | ||
"test": "mocha", | ||
"test:coverage": "c8 mocha", | ||
"test:coverage:html": "c8 --reporter=html --reporter=text mocha", | ||
"prepublishOnly": "npm run build", | ||
"postpublish": "rm -r dist" | ||
}, | ||
"files": [ | ||
"./dist/index.d.ts", | ||
"./dist/bundle.js", | ||
"./dist/bundle.js.map", | ||
"./dist/bundle.cjs", | ||
"./dist/bundle.cjs.map" | ||
], | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/strazzere/duml-packet.git" | ||
}, | ||
"author": "Tim Strazzere <diff@protonmail.com>", | ||
"keywords": [ | ||
"duml", | ||
"drone", | ||
"dji" | ||
], | ||
"license": "ISC", | ||
"bugs": { | ||
"url": "https://github.com/strazzere/duml-packet/issues" | ||
}, | ||
"homepage": "https://github.com/strazzere/duml-packet#readme", | ||
"devDependencies": { | ||
"@rollup/plugin-typescript": "^11.1.6", | ||
"@types/chai": "^4.3.4", | ||
"@types/mocha": "^10.0.1", | ||
"@types/yargs": "^17.0.24", | ||
"@typescript-eslint/eslint-plugin": "^7.0.2", | ||
"c8": "^9.1.0", | ||
"chai": "^5.0.0", | ||
"eslint": "^8.38.0", | ||
"eslint-config-prettier": "^9.0.0", | ||
"eslint-plugin-prettier": "^5.0.1", | ||
"mocha": "^10.2.0", | ||
"prettier": "^3.0.3", | ||
"rollup": "^4.9.6", | ||
"rollup-plugin-dts": "^6.1.0", | ||
"source-map-support": "^0.5.21", | ||
"ts-node": "^10.9.1", | ||
"typescript": "5.3.3" | ||
}, | ||
"optionalDependencies": { | ||
"yargs": "^17.7.1" | ||
} | ||
"name": "duml-packet", | ||
"version": "2.0.2", | ||
"description": "For use when parsing and modifying DUML packets for DJI drones", | ||
"exports": { | ||
"import": "./dist/bundle.js", | ||
"require": "./dist/bundle.cjs" | ||
}, | ||
"bin": { | ||
"dumlpacket": "./dist/cli.js" | ||
}, | ||
"type": "module", | ||
"types": "./dist/index.d.ts", | ||
"scripts": { | ||
"build": "tsc -p . && rollup -c rollup.config.js", | ||
"lint": "npx @biomejs/biome check --write ./src", | ||
"format": "npx @biomejs/biome format --write .mocharc.json rollup.config.js package.json tsconfig.json ./src", | ||
"cli": "ts-node dist/cli.js", | ||
"test": "mocha", | ||
"test:coverage": "c8 mocha", | ||
"test:coverage:html": "c8 --reporter=html --reporter=text mocha", | ||
"prepublishOnly": "npm run build", | ||
"postpublish": "rm -r dist" | ||
}, | ||
"files": [ | ||
"./dist/index.d.ts", | ||
"./dist/bundle.js", | ||
"./dist/bundle.js.map", | ||
"./dist/bundle.cjs", | ||
"./dist/bundle.cjs.map" | ||
], | ||
"repository": { | ||
"type": "git", | ||
"url": "git+https://github.com/strazzere/duml-packet.git" | ||
}, | ||
"author": "Tim Strazzere <diff@protonmail.com>", | ||
"keywords": [ | ||
"duml", | ||
"drone", | ||
"dji" | ||
], | ||
"license": "ISC", | ||
"bugs": { | ||
"url": "https://github.com/strazzere/duml-packet/issues" | ||
}, | ||
"homepage": "https://github.com/strazzere/duml-packet#readme", | ||
"devDependencies": { | ||
"@biomejs/biome": "1.8.2", | ||
"@rollup/plugin-typescript": "^11.1.6", | ||
"@types/chai": "^4.3.4", | ||
"@types/mocha": "^10.0.1", | ||
"@types/yargs": "^17.0.24", | ||
"c8": "^10.1.2", | ||
"chai": "^5.0.0", | ||
"mocha": "^10.2.0", | ||
"rollup": "^4.9.6", | ||
"rollup-plugin-dts": "^6.1.0", | ||
"source-map-support": "^0.5.21", | ||
"ts-node": "^10.9.1", | ||
"typescript": "^5.4.2" | ||
}, | ||
"optionalDependencies": { | ||
"yargs": "^17.7.1" | ||
} | ||
} |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
204283
13
1491