on de65ae1 help sign in
astrolabe/ui/src/lib/utils.ts
20 lines 592 B history raw
1function isStringNaN(value: string): boolean {
2 return window.isNaN(value as any) || Number.isNaN(parseInt(value)) || !(/^-?\d+$/.test(value));
3}
5function listStrings(list: string[], includeAnd: boolean = false): string {
6 if (includeAnd && list.length > 1) {
7 return listStrings(list.slice(0, -1)) + ' and ' + listStrings(list.slice(-1));
8 }
9 return "'" + list.join("', '") + "'";
12function filterObject(obj, predicate) {
13 return Object.fromEntries(Object.entries(obj).filter(([key, value]) => predicate(key, value)));
16export {
17 isStringNaN,
18 listStrings,
19 filterObject,
20};