handle function application
Last updated: 2026-02-24T19:46:21.728Z
Metrics
LOC: 35
Complexity: 9
Params: 1
Signature
handle(message: ExtensionMessage): : Promise<unknown>
Source Code
async function handle(message: ExtensionMessage): Promise<unknown> {
switch (message.type) {
case "GET_FIELD_CACHE": {
const payload = message.payload as { url?: string } | undefined;
if (payload?.url) {
return getFieldDetectionCacheForUrl(payload.url);
}
return getFieldDetectionCache();
}
case "SAVE_FIELD_CACHE": {
const payload = parseSaveFieldCachePayload(message.payload);
if (!payload) return { error: "Invalid payload for SAVE_FIELD_CACHE" };
const cacheSettings = await getSettings();
if (cacheSettings.cacheEnabled === false) {
return { success: true, skipped: true };
}
return saveFieldDetectionCacheForUrl(payload.url, payload.fields);
}
case "DELETE_FIELD_CACHE": {
const url = parseStringPayload(message.payload);
if (!url) return { error: "Invalid payload for DELETE_FIELD_CACHE" };
await deleteFieldDetectionCacheForUrl(url);
return { success: true };
}
case "CLEAR_FIELD_CACHE":
await clearFieldDetectionCache();
return { success: true };
default:
return { error: `Unhandled type in cacheHandler: ${message.type}` };
}
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| MessageHandler | uses |
| ExtensionMessage | uses |
| MessageType | uses |
| getFieldDetectionCache | uses |
| getFieldDetectionCacheForUrl | uses |
| saveFieldDetectionCacheForUrl | uses |
| deleteFieldDetectionCacheForUrl | uses |
| clearFieldDetectionCache | uses |
| getSettings | uses |
| parseSaveFieldCachePayload | uses |
| parseStringPayload | uses |
No incoming dependencies.