1.0.1 • Published 4 years ago

unpacker v1.0.1

Weekly downloads
76
License
MIT
Repository
github
Last release
4 years ago

unpacker

A nodejs library to unpack p.a.c.k.e.d strings.

Installation

npm install unpacker

Usage

import { unpack, detect } from "unpacker";

detect(valueToTest); // Returns true/false if the input is packed string or not

unpack(valueToTest); // Returns the string in unpacked form

Example 1 - Typescript

import { unpack, detect } from "unpacker";

/*Since a packed string is hard to copy in the editor due to escape characters, here is the base64 version of it.*/
const packedString = 'ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUsZCl7ZT1mdW5jdGlvbihjKXtyZXR1cm4gY307aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSl7ZFtjXT1rW2NdfHxjfWs9W2Z1bmN0aW9uKGUpe3JldHVybiBkW2VdfV07ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0pe2lmKGtbY10pe3A9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pfX1yZXR1cm4gcH0oJzYgNT0xOzQgMCgpezMuMihcJzBcJyl9Jyw3LDcsJ3Rlc3R8fGxvZ3xjb25zb2xlfGZ1bmN0aW9ufHRlc3REZWNsYXJhdGlvbnx2YXInLnNwbGl0KCd8JyksMCx7fSkp'

let valueToTest: string;

if (typeof atob === "undefined") {
  valueToTest = Buffer.from(packedString, "base64").toString("binary");  
} else {
  valueToTest = atob(packedString);
}

const result = unpack(valueToTest);

console.log(result);

Example 2 - Plain javascript

const unpacker = require("unpacker");

/*Since a packed string is hard to copy in the editor due to escape characters, here is the base64 version of it.*/
const packedString = 'ZXZhbChmdW5jdGlvbihwLGEsYyxrLGUsZCl7ZT1mdW5jdGlvbihjKXtyZXR1cm4gY307aWYoIScnLnJlcGxhY2UoL14vLFN0cmluZykpe3doaWxlKGMtLSl7ZFtjXT1rW2NdfHxjfWs9W2Z1bmN0aW9uKGUpe3JldHVybiBkW2VdfV07ZT1mdW5jdGlvbigpe3JldHVybidcXHcrJ307Yz0xfTt3aGlsZShjLS0pe2lmKGtbY10pe3A9cC5yZXBsYWNlKG5ldyBSZWdFeHAoJ1xcYicrZShjKSsnXFxiJywnZycpLGtbY10pfX1yZXR1cm4gcH0oJzYgNT0xOzQgMCgpezMuMihcJzBcJyl9Jyw3LDcsJ3Rlc3R8fGxvZ3xjb25zb2xlfGZ1bmN0aW9ufHRlc3REZWNsYXJhdGlvbnx2YXInLnNwbGl0KCd8JyksMCx7fSkp'

var valueToTest;

if (typeof atob === "undefined") {
  valueToTest = Buffer.from(packedString, "base64").toString("binary");  
} else {
  valueToTest = atob(packedString);
}

const result = unpacker.unpack(valueToTest);

console.log(result);