Something went wrong. Try again.
Client side atproto account migrator in your web browser, along with services for backups and adversarial migrations. pdsmoover.com
pds atproto migrations moo cow
Something went wrong. Try again.
549 B · 23 lines
TypeScript
at oauth
1234567891011121314151617181920212223function formatBytes(bytes: number | null) { if (bytes == null) return '—'; const units = ['B', 'KB', 'MB', 'GB', 'TB']; let i = 0; let v = Number(bytes); while (v >= 1024 && i < units.length - 1) { v /= 1024; i++; } return v.toFixed(1) + ' ' + units[i];}
function formatDate(value: string | undefined) { if (!value) return '—'; try { const d = new Date(value); return d.toLocaleString(); } catch { return String(value); }}
export {formatBytes, formatDate};