importForms function
Last updated: 2026-03-04T23:21:38.431Z
Location
Metrics
LOC: 43
Complexity: 11
Params: 1
Signature
importForms(file: File): : Promise<void>
Architecture violations
- [warning] max-cyclomatic-complexity: 'importForms' has cyclomatic complexity 11 (max 10)
Source Code
async function importForms(file: File): Promise<void> {
let parsed: unknown;
try {
parsed = JSON.parse(await file.text());
} catch {
showToast(t("errorInvalidJson"));
return;
}
if (
typeof parsed !== "object" ||
parsed === null ||
!Array.isArray((parsed as Record<string, unknown>).forms)
) {
showToast(t("errorInvalidFormat"));
return;
}
const forms = (parsed as { forms: unknown[] }).forms;
let count = 0;
for (const form of forms) {
if (
typeof form !== "object" ||
form === null ||
typeof (form as Record<string, unknown>).id !== "string" ||
typeof (form as Record<string, unknown>).name !== "string"
) {
continue;
}
await chrome.runtime.sendMessage({
type: "UPDATE_FORM",
payload: form,
});
count++;
}
await loadSavedForms();
showToast(
count > 0 ? t("toastFormsImported", [String(count)]) : t("noFormsInFile"),
);
}
Dependencies (Outgoing)
| Target | Type |
|---|---|
| loadSavedForms | calls |
Impact (Incoming)
| Source | Type |
|---|---|
| initFormsTab | calls |