Skip to content

Commit b35c27a

Browse files
rmdespaulrobertlloyd
authored andcommitted
fix(error): ensure name is a string before calling replace in getError
Prevents "name.replace is not a function" error when code passed to `IndiekitError`` is not a string (e.g., when `response.statusText`` is undefined in some edge cases)
1 parent dfd53c0 commit b35c27a

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

packages/error/index.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,13 @@ export class IndiekitError extends Error {
7575
}
7676

7777
getError(name) {
78-
name = name.replace(" ", "_").toLowerCase();
78+
const code = String(name || "unknown")
79+
.replaceAll(" ", "_")
80+
.toLowerCase();
81+
const error = errors[code];
7982

80-
const error = errors[name];
81-
if (error) {
82-
error.code = name;
83-
return error;
84-
}
83+
if (!error) return;
84+
85+
return { ...error, code };
8586
}
8687
}

0 commit comments

Comments
 (0)