UNPKG

@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
"use strict"; 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;