|
|
|
@ -174,3 +174,30 @@ export function usePromiseMemo<T>(promise: Promise<T> | undefined | null, deps:
|
|
|
|
|
}, [...deps, promise]);
|
|
|
|
|
return val;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function parseDate(prop: ICAL.Property) {
|
|
|
|
|
const value = prop.getFirstValue();
|
|
|
|
|
if ((value.day !== null) && (value.day !== undefined)) {
|
|
|
|
|
return {
|
|
|
|
|
day: value.day,
|
|
|
|
|
month: value.month - 1,
|
|
|
|
|
year: value.year ?? undefined,
|
|
|
|
|
};
|
|
|
|
|
} else {
|
|
|
|
|
const time = prop.toJSON()[3];
|
|
|
|
|
if (time.length === 6 && time.startsWith("--")) {
|
|
|
|
|
return {
|
|
|
|
|
day: parseInt(time.slice(4, 6)),
|
|
|
|
|
month: parseInt(time.slice(2, 4)) - 1,
|
|
|
|
|
};
|
|
|
|
|
} else if (time.length === 8) {
|
|
|
|
|
return {
|
|
|
|
|
day: parseInt(time.slice(6, 8)),
|
|
|
|
|
month: parseInt(time.slice(4, 6)) - 1,
|
|
|
|
|
year: parseInt(time.slice(0, 4)),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {};
|
|
|
|
|
}
|
|
|
|
|