add formatter

This commit is contained in:
Hare Sudhan 2024-02-24 22:59:51 -05:00
parent c4e7c41a6e
commit ce30989adc
693 changed files with 51226 additions and 26671 deletions

View file

@ -9,7 +9,6 @@
import Utils from "../Utils.mjs";
import OperationError from "../errors/OperationError.mjs";
/**
* Convert a byte array into a binary string.
*
@ -28,19 +27,23 @@ import OperationError from "../errors/OperationError.mjs";
* // returns "1010:10100:11110"
* toBinary([10,20,30], "Colon", 0);
*/
export function toBinary(data, delim="Space", padding=8) {
export function toBinary(data, delim = "Space", padding = 8) {
if (data === undefined || data === null)
throw new OperationError("Unable to convert to binary: Empty input data enocuntered");
throw new OperationError(
"Unable to convert to binary: Empty input data enocuntered",
);
delim = Utils.charRep(delim);
let output = "";
if (data.length) { // array
if (data.length) {
// array
for (let i = 0; i < data.length; i++) {
output += data[i].toString(2).padStart(padding, "0");
if (i !== data.length - 1) output += delim;
}
} else if (typeof data === "number") { // Single value
} else if (typeof data === "number") {
// Single value
return data.toString(2).padStart(padding, "0");
} else {
return "";
@ -48,7 +51,6 @@ export function toBinary(data, delim="Space", padding=8) {
return output;
}
/**
* Convert a binary string into a byte array.
*
@ -64,7 +66,7 @@ export function toBinary(data, delim="Space", padding=8) {
* // returns [10,20,30]
* fromBinary("00001010:00010100:00011110", "Colon");
*/
export function fromBinary(data, delim="Space", byteLen=8) {
export function fromBinary(data, delim = "Space", byteLen = 8) {
if (byteLen < 1 || Math.round(byteLen) !== byteLen)
throw new OperationError("Byte length must be a positive integer");
@ -77,4 +79,3 @@ export function fromBinary(data, delim="Space", byteLen=8) {
}
return output;
}