UNPKG

@bsv/wallet-toolbox-client

Version:
64 lines 2.57 kB
"use strict"; 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