UNPKG

@modern-kit/utils

Version:
34 lines (32 loc) 1.41 kB
/** * 주어진 조건이 참인지 확인하고, 거짓일 경우 에러를 발생시키는 런타임 타입 체크 함수입니다. * 이 함수는 TypeScript의 타입 좁히기(type narrowing)를 지원합니다. * * @param {boolean} value - 검증할 값 또는 조건 * @param {string} message - 조건이 거짓일 경우 표시할 에러 메시지 * * @throws {Error} value가 false이거나 null/undefined인 경우 * @returns {asserts value} * * @example * invariant(user.isAdmin, "관리자 권한이 필요합니다"); * // 이후 코드에서 user.isAdmin는 true가 보장됩니다 */ declare function invariant(value: boolean, message: string): asserts value; /** * 주어진 조건이 참인지 확인하고, 거짓일 경우 에러를 발생시키는 런타임 타입 체크 함수입니다. * 이 함수는 TypeScript의 타입 좁히기(type narrowing)를 지원합니다. * * @param value - 검증할 값 또는 조건 * @param message - 조건이 거짓일 경우 표시할 에러 메시지 * * @throws {Error} value가 false이거나 null/undefined인 경우 * * @example * // user: User | null | undefined * * invariant(user, "사용자가 존재하지 않습니다"); * // 이후 코드에서 user는 User 타입이 보장됩니다 */ declare function invariant<T>(value: T | null | undefined, message: string): asserts value is T; export { invariant };