@iotize/tap
Version:
IoTize Device client for Javascript
28 lines • 2.26 kB
JavaScript
import { bufferToHexString } from '@iotize/common/byte-converter';
export class HexStringConverter {
decode(value) {
return bufferToHexString(value);
}
encode(value) {
if (!value || value.length == 0) {
return new Uint8Array(0);
}
if (value.length % 2 > 0) {
// Prefix with 0
value = '0' + value;
}
var result = [];
for (var i = 0, len = value.length; i < len; i += 2) {
result.push(parseInt(value.substr(i, 2), 16));
}
return new Uint8Array(result);
}
static instance() {
if (!HexStringConverter._instance) {
HexStringConverter._instance = new HexStringConverter();
}
return HexStringConverter._instance;
}
}
HexStringConverter._instance = undefined;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LXN0cmluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2NsaWVudC9pbXBsL3NyYy9saWIvY29udmVydGVyL2JvZHkvaGV4LXN0cmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUVsRSxNQUFNLE9BQU8sa0JBQWtCO0lBS3RCLE1BQU0sQ0FBQyxLQUFpQjtRQUM3QixPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBYTtRQUN6QixJQUFJLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQy9CLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDMUI7UUFDRCxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QixnQkFBZ0I7WUFDaEIsS0FBSyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUM7U0FDckI7UUFDRCxJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDaEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ25ELE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFTSxNQUFNLENBQUMsUUFBUTtRQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsU0FBUyxFQUFFO1lBQ2pDLGtCQUFrQixDQUFDLFNBQVMsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7U0FDekQ7UUFDRCxPQUFPLGtCQUFrQixDQUFDLFNBQVMsQ0FBQztJQUN0QyxDQUFDOztBQTFCTSw0QkFBUyxHQUF3QixTQUFTLENBQUMifQ==