summaryrefslogtreecommitdiffhomepage
path: root/packages/app/src/utils/server-errors.ts
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-27 09:45:00 -0600
committerGitHub <[email protected]>2026-02-27 09:45:00 -0600
commit6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10 (patch)
tree845adb9ccc47884a0f102a59cb887bd17a51a75c /packages/app/src/utils/server-errors.ts
parente5ae6c51b0d2f5dececd16970250aa2ab6c71a2f (diff)
downloadopencode-6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10.tar.gz
opencode-6ef3af73dfa1c72bb2001c86d898f2edf8ea4b10.zip
chore(app): i18n sync (#15362)
Diffstat (limited to 'packages/app/src/utils/server-errors.ts')
-rw-r--r--packages/app/src/utils/server-errors.ts27
1 files changed, 22 insertions, 5 deletions
diff --git a/packages/app/src/utils/server-errors.ts b/packages/app/src/utils/server-errors.ts
index 4b9727e61..85ebca132 100644
--- a/packages/app/src/utils/server-errors.ts
+++ b/packages/app/src/utils/server-errors.ts
@@ -7,11 +7,28 @@ export type ConfigInvalidError = {
}
}
-export function formatServerError(error: unknown) {
- if (isConfigInvalidErrorLike(error)) return parseReabaleConfigInvalidError(error)
+type Label = {
+ unknown: string
+ invalidConfiguration: string
+}
+
+const fallback: Label = {
+ unknown: "Unknown error",
+ invalidConfiguration: "Invalid configuration",
+}
+
+function resolveLabel(labels: Partial<Label> | undefined): Label {
+ return {
+ unknown: labels?.unknown ?? fallback.unknown,
+ invalidConfiguration: labels?.invalidConfiguration ?? fallback.invalidConfiguration,
+ }
+}
+
+export function formatServerError(error: unknown, labels?: Partial<Label>) {
+ if (isConfigInvalidErrorLike(error)) return parseReabaleConfigInvalidError(error, labels)
if (error instanceof Error && error.message) return error.message
if (typeof error === "string" && error) return error
- return "Unknown error"
+ return resolveLabel(labels).unknown
}
function isConfigInvalidErrorLike(error: unknown): error is ConfigInvalidError {
@@ -20,8 +37,8 @@ function isConfigInvalidErrorLike(error: unknown): error is ConfigInvalidError {
return o.name === "ConfigInvalidError" && typeof o.data === "object" && o.data !== null
}
-export function parseReabaleConfigInvalidError(errorInput: ConfigInvalidError) {
- const head = "Invalid configuration"
+export function parseReabaleConfigInvalidError(errorInput: ConfigInvalidError, labels?: Partial<Label>) {
+ const head = resolveLabel(labels).invalidConfiguration
const file = errorInput.data.path && errorInput.data.path !== "config" ? errorInput.data.path : ""
const detail = errorInput.data.message?.trim() ?? ""
const issues = (errorInput.data.issues ?? []).map((issue) => {