Thread viewer for Bluesky
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}