Consolidate server utilities into shared module

- Add lib/server/utils/normalize.ts with normalizeTicker, normalizeTagsOrNull, nowIso, todayIso
- Add lib/server/utils/validation.ts with asRecord, asBoolean, asStringArray, asEnum
- Add lib/server/utils/index.ts re-exporting all utilities
- Remove duplicate lib/server/utils.ts (old file)
- Update all repos and files to use shared utilities
- Remove redundant ?? '' from normalizeTicker calls
- Update watchlist.ts to use normalizeTagsOrNull for null-return tags
This commit is contained in:
2026-03-15 15:56:16 -04:00
parent edf1cfb421
commit 5f0abbb007
14 changed files with 193 additions and 127 deletions

View File

@@ -1,3 +1,5 @@
import { normalizeTicker } from '@/lib/server/utils';
type FetchImpl = typeof fetch;
type CacheEntry<T> = {
@@ -142,7 +144,7 @@ export async function getYahooCompanyDescription(
ticker: string,
options?: { fetchImpl?: FetchImpl }
) {
const normalizedTicker = ticker.trim().toUpperCase();
const normalizedTicker = normalizeTicker(ticker);
if (!normalizedTicker) {
return null;
}