@bsv/wallet-toolbox-client
Version:
Client only Wallet Storage
64 lines • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.asString = asString;
exports.asArray = asArray;
exports.asUint8Array = asUint8Array;
const sdk_1 = require("@bsv/sdk");
/**
* Convert a value to an encoded string if currently an encoded string or number[] or Uint8Array.
* @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
* @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
* @param returnEnc optional encoding type for returned string if different from `enc`, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
* @returns hex encoded string representation of val.
* @publicbody
*/
function asString(val, enc, returnEnc) {
enc || (enc = 'hex');
returnEnc || (returnEnc = enc);
if (typeof val === 'string') {
if (enc === returnEnc)
return val;
val = asUint8Array(val, enc);
}
let v = Array.isArray(val) ? val : Array.from(val);
switch (returnEnc) {
case 'utf8':
return sdk_1.Utils.toUTF8(v);
case 'base64':
return sdk_1.Utils.toBase64(v);
}
return sdk_1.Utils.toHex(v);
}
/**
* Convert a value to number[] if currently an encoded string or number[] or Uint8Array.
* @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
* @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
* @returns number[] array of byte values representation of val.
* @publicbody
*/
function asArray(val, enc) {
if (Array.isArray(val))
return val;
if (typeof val !== 'string')
return Array.from(val);
enc || (enc = 'hex');
let a = sdk_1.Utils.toArray(val, enc);
return a;
}
/**
* Convert a value to Uint8Array if currently an encoded string or number[] or Uint8Array.
* @param val string or number[] or Uint8Array. If string, encoding must be hex. If number[], each value must be 0..255.
* @param enc optional encoding type if val is string, defaults to 'hex'. Can be 'hex', 'utf8', or 'base64'.
* @returns Uint8Array representation of val.
* @publicbody
*/
function asUint8Array(val, enc) {
if (Array.isArray(val))
return Uint8Array.from(val);
if (typeof val !== 'string')
return val;
enc || (enc = 'hex');
let a = sdk_1.Utils.toArray(val, enc);
return Uint8Array.from(a);
}
//# sourceMappingURL=utilityHelpers.noBuffer.js.map