UNPKG

xypriss-security

Version:

XyPriss Security is an advanced JavaScript security library designed for enterprise applications. It provides military-grade encryption, secure data structures, quantum-resistant cryptography, and comprehensive security utilities for modern web applicatio

75 lines (71 loc) 2.64 kB
'use strict'; var nehonixUriProcessor = require('nehonix-uri-processor'); var encoding = require('./encoding.js'); require('./memory/index.js'); function bufferDataConverter(input, outputFormat, options = {}) { const { onError, onBuffer, onResult } = options; try { let result = null; switch (outputFormat) { case "hex": result = encoding.bufferToHex(input); onResult?.(result); break; case "base64": result = encoding.bufferToBase64(input); onResult?.(result); break; case "base58": result = encoding.bufferToBase58(input); onResult?.(result); break; case "binary": result = encoding.bufferToBinary(input); onResult?.(result); break; case "buffer": result = null; onBuffer?.(input); break; case "base64url": result = encoding.bufferToBase64Url(input); onResult?.(result); break; case "utf8": result = encoding.bufferToString(input); onResult?.(result); break; default: try { // Convert Uint8Array to string for processor.encode() // Since processor.encode expects a string input, we need to convert binary data to string first let inputString; // Try UTF-8 decoding first (best for text data) try { inputString = new TextDecoder("utf-8", { fatal: true, }).decode(input); } catch { // If UTF-8 decoding fails (binary data), convert to Base64 first // This ensures the processor gets valid string input inputString = encoding.bufferToBase64(input); } result = nehonixUriProcessor.__processor__.encode(inputString, outputFormat); onResult?.(result); } catch (error) { onError?.(error); throw error; } break; } return result; } catch (error) { onError?.(error); throw error; } } exports.bufferDataConverter = bufferDataConverter; //# sourceMappingURL=dataConverter.js.map