29 lines
955 B
TypeScript
29 lines
955 B
TypeScript
export const generateId = (): string => {
|
|
return Math.random().toString(36).substring(2, 9);
|
|
};
|
|
|
|
export const formatTime = (date: Date): string => {
|
|
const h = date.getHours().toString().padStart(2, '0');
|
|
const m = date.getMinutes().toString().padStart(2, '0');
|
|
const s = date.getSeconds().toString().padStart(2, '0');
|
|
const ms = date.getMilliseconds().toString().padStart(3, '0');
|
|
return `${h}:${m}:${s}.${ms}`;
|
|
};
|
|
|
|
export const uInt8ArrayToHex = (arr: Uint8Array): string => {
|
|
return Array.from(arr)
|
|
.map(b => b.toString(16).padStart(2, '0').toUpperCase())
|
|
.join(' ');
|
|
};
|
|
|
|
export const uInt8ArrayToAscii = (arr: Uint8Array): string => {
|
|
// Replace non-printable characters with a dot or special symbol to avoid rendering issues
|
|
return Array.from(arr)
|
|
.map(b => {
|
|
if (b >= 32 && b <= 126) {
|
|
return String.fromCharCode(b);
|
|
}
|
|
return '.'; // Placeholder for non-printable chars
|
|
})
|
|
.join('');
|
|
}; |