Use owner enums for known codes; preserve wire values and unknown fallbacks. Verified npm ci and verify: 379 tests, 5 lint checks, app and Storybook builds.
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
enum ApiErrorCode {
|
|
BankDependentRefunds = "BANK_DEPENDENT_REFUNDS",
|
|
BankIntentConflict = "BANK_INTENT_CONFLICT",
|
|
BankNotFound = "BANK_NOT_FOUND",
|
|
BankRefundLimit = "BANK_REFUND_LIMIT",
|
|
BankVersionConflict = "BANK_VERSION_CONFLICT",
|
|
BankWriteConflict = "BANK_WRITE_CONFLICT",
|
|
BondTickerAmbiguous = "BOND_TICKER_AMBIGUOUS",
|
|
Forbidden = "FORBIDDEN",
|
|
InvalidOperationsCursor = "INVALID_OPERATIONS_CURSOR",
|
|
InvalidTbankToken = "INVALID_TBANK_TOKEN",
|
|
NotFound = "NOT_FOUND",
|
|
StockTickerAmbiguous = "STOCK_TICKER_AMBIGUOUS",
|
|
TbankNotConnected = "TBANK_NOT_CONNECTED",
|
|
TbankUnavailable = "TBANK_UNAVAILABLE",
|
|
Unauthorized = "UNAUTHORIZED",
|
|
}
|
|
|
|
function apiErrorCode(error: unknown): string | undefined {
|
|
return typeof error === "object" && error !== null && "code" in error
|
|
? String(error.code)
|
|
: undefined;
|
|
}
|
|
|
|
// Incoming codes are an open wire string; unknown values retain their fallback.
|
|
function isApiErrorCode(value: unknown, expected: ApiErrorCode): boolean {
|
|
return value === expected;
|
|
}
|
|
|
|
export { ApiErrorCode, apiErrorCode, isApiErrorCode };
|