UNPKG

@mysten/bcs

Version:

BCS - Canonical Binary Serialization implementation for JavaScript

55 lines (54 loc) 1.34 kB
import { fromBase58, fromBase64, fromHex, toBase58, toBase64, toHex } from "@mysten/utils"; function encodeStr(data, encoding) { switch (encoding) { case "base58": return toBase58(data); case "base64": return toBase64(data); case "hex": return toHex(data); default: throw new Error("Unsupported encoding, supported values are: base64, hex"); } } function decodeStr(data, encoding) { switch (encoding) { case "base58": return fromBase58(data); case "base64": return fromBase64(data); case "hex": return fromHex(data); default: throw new Error("Unsupported encoding, supported values are: base64, hex"); } } function splitGenericParameters(str, genericSeparators = ["<", ">"]) { const [left, right] = genericSeparators; const tok = []; let word = ""; let nestedAngleBrackets = 0; for (let i = 0; i < str.length; i++) { const char = str[i]; if (char === left) { nestedAngleBrackets++; } if (char === right) { nestedAngleBrackets--; } if (nestedAngleBrackets === 0 && char === ",") { tok.push(word.trim()); word = ""; continue; } word += char; } tok.push(word.trim()); return tok; } export { decodeStr, encodeStr, splitGenericParameters }; //# sourceMappingURL=utils.js.map