Thread viewer for Bluesky
at master 39 lines 1.0 kB view raw
1export * from './utils/at_uri.js'; 2export * from './utils/avatar_preloader.js'; 3export * from './utils/text.js'; 4 5export function castToInt(value: any): number | null | undefined { 6 if (value === undefined || value === null || typeof value == "number") { 7 return value; 8 } else { 9 return parseInt(value, 10); 10 } 11} 12 13export function feedPostTime(feedPost: json): number { 14 let timestamp = feedPost.reason ? feedPost.reason.indexedAt : feedPost.post.record.createdAt; 15 return Date.parse(timestamp); 16} 17 18export function isValidURL(url: string): boolean { 19 try { 20 let u = new URL(url); 21 return (u.protocol == 'http:' || u.protocol == 'https:'); 22 } catch (error) { 23 console.error("Invalid URL: " + error); 24 return false; 25 } 26} 27 28export function sameDay(date1: Date, date2: Date): boolean { 29 return ( 30 date1.getDate() == date2.getDate() && 31 date1.getMonth() == date2.getMonth() && 32 date1.getFullYear() == date2.getFullYear() 33 ); 34} 35 36export function showError(error: Error) { 37 console.log(error); 38 alert(error); 39}