@hamstudy/flamp
Version:
JavaScript Amateur Multicast Protocol AMP-2 Version 3 Implemented from specification document http://www.w1hkj.com/files/flamp/Amp-2.V3.0.Protocol.pdf • Version 1.0.0 - W5ALT, Walt Fair, Jr. (Derived From) • Version 2.0.0 - W1HKJ, Dave Freese, w
51 lines (50 loc) • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const lzma = tslib_1.__importStar(require("./lzma-js"));
function stringFromStringOrArray(res) {
if (typeof res == 'string') {
return res;
}
else {
return String.fromCharCode(...res);
}
}
function encodeSync(str, mode = 4) {
let res = lzma.compress(str, mode);
return stringFromStringOrArray(res);
}
exports.encodeSync = encodeSync;
function encode(str, mode = 4) {
return new Promise((resolve, reject) => {
lzma.compress(str, mode, (res, err) => {
if (err) {
reject(err);
}
else {
resolve(stringFromStringOrArray(res));
}
});
});
}
exports.encode = encode;
function decodeSync(stringToDecode) {
let byteArray = Uint8Array.from(stringToDecode.split('').map(c => c.charCodeAt(0)));
let res = lzma.decompress(byteArray);
return stringFromStringOrArray(res);
}
exports.decodeSync = decodeSync;
function decode(stringToDecode) {
let byteArray = Uint8Array.from(stringToDecode.split('').map(c => c.charCodeAt(0)));
return new Promise((resolve, reject) => {
lzma.decompress(byteArray, (res, err) => {
if (err) {
reject(err);
}
else {
resolve(stringFromStringOrArray(res));
}
});
});
}
exports.decode = decode;