handle function application
Last updated: 2026-03-01T23:25:47.061Z
Metrics
LOC: 58
Complexity: 17
Params: 1
Signature
handle(message: ExtensionMessage): : Promise<unknown>
Architecture violations
- [warning] max-cyclomatic-complexity: 'handle' has cyclomatic complexity 17 (max 10)
Source Code
async function handle(message: ExtensionMessage): Promise<unknown> {
switch (message.type) {
case "GET_SAVED_FORMS":
return getSavedForms();
case "DELETE_FORM": {
const formId = parseStringPayload(message.payload);
if (!formId) return { error: "Invalid payload for DELETE_FORM" };
await deleteForm(formId);
return { success: true };
}
case "UPDATE_FORM": {
const form = parseSavedFormPayload(message.payload);
if (!form) return { error: "Invalid payload for UPDATE_FORM" };
await saveForm(form);
return { success: true };
}
case "SET_DEFAULT_FORM": {
const formId = parseStringPayload(message.payload);
if (!formId) return { error: "Invalid payload for SET_DEFAULT_FORM" };
await setDefaultForm(formId);
return { success: true };
}
case "GET_SETTINGS":
return getSettings();
case "SAVE_SETTINGS": {
const settings = parseSettingsPayload(message.payload);
if (!settings) return { error: "Invalid payload for SAVE_SETTINGS" };
await saveSettings(settings);
return { success: true };
}
case "GET_IGNORED_FIELDS":
return getIgnoredFields();
case "ADD_IGNORED_FIELD": {
const payload = parseIgnoredFieldPayload(message.payload);
if (!payload) return { error: "Invalid payload for ADD_IGNORED_FIELD" };
const ignored = await addIgnoredField(payload);
return ignored ?? { error: "Failed to add ignored field" };
}
case "REMOVE_IGNORED_FIELD": {
const ignoredId = parseStringPayload(message.payload);
if (!ignoredId)
return { error: "Invalid payload for REMOVE_IGNORED_FIELD" };
await removeIgnoredField(ignoredId);
return { success: true };
}
default:
return { error: `Unhandled type in storageHandler: ${message.type}` };
}
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| MessageHandler | uses |
| ExtensionMessage | uses |
| MessageType | uses |
| getSavedForms | uses |
| saveForm | uses |
| deleteForm | uses |
| setDefaultForm | uses |
| getSettings | uses |
| saveSettings | uses |
| getIgnoredFields | uses |
| addIgnoredField | uses |
| removeIgnoredField | uses |
| parseIgnoredFieldPayload | uses |
| parseSavedFormPayload | uses |
| parseSettingsPayload | uses |
| parseStringPayload | uses |
No incoming dependencies.