diff --git a/app/firebase/functions/src/core/errors.ts b/app/firebase/functions/src/core/errors.ts index c15d2a0..ea327e0 100644 --- a/app/firebase/functions/src/core/errors.ts +++ b/app/firebase/functions/src/core/errors.ts @@ -29,9 +29,16 @@ export class CatalogError extends HttpsError { } } -export const fail = (code: ErrorCode, message: string): never => { +/** + * 카탈로그 오류로 즉시 끊는다. + * + * **화살표 상수가 아니라 함수 선언으로 둔다.** TypeScript 는 `const f = (): never + * => {...}` 형태로는 호출 이후를 도달 불가로 좁히지 못한다. 그러면 호출 뒤의 + * 코드가 「값이 없을 수도 있다」로 남아 불필요한 널 검사가 번진다. + */ +export function fail(code: ErrorCode, message: string): never { throw new CatalogError(code, message); -}; +} /** * 입력이 없으면 그 자리에서 끊는다.