PHP WebShell
Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@iota/bcs/src
Просмотр файла: utils.ts
// Copyright (c) Mysten Labs, Inc.
// Modifications Copyright (c) 2024 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0
import { fromBase58, toBase58 } from './b58.js';
import { fromBase64, toBase64 } from './b64.js';
import { fromHex, toHex } from './hex.js';
import type { Encoding } from './types.js';
/**
* Encode data with either `hex` or `base64`.
*
* @param {Uint8Array} data Data to encode.
* @param {String} encoding Encoding to use: base64 or hex
* @return {String} Encoded value.
*/
export function encodeStr(data: Uint8Array, encoding: Encoding): string {
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');
}
}
/**
* Decode either `base64` or `hex` data.
*
* @param {String} data Data to encode.
* @param {String} encoding Encoding to use: base64 or hex
* @return {Uint8Array} Encoded value.
*/
export function decodeStr(data: string, encoding: Encoding): Uint8Array {
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');
}
}
export function splitGenericParameters(
str: string,
genericSeparators: [string, string] = ['<', '>'],
) {
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;
}
Выполнить команду
Для локальной разработки. Не используйте в интернете!