Files
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

22 lines
773 B
TypeScript

import type { KbxGridStatusMap, KbxStatusSemantic } from '@kbx/contracts'
export interface KbxResolvedGridStatus {
rawValue: string
label: string
semantic: KbxStatusSemantic
unknown: boolean
}
/** Domain raw value를 변경하지 않고 사용자 표시용 상태만 해석한다. */
export function resolveKbxGridStatus(map:KbxGridStatusMap|undefined,value:unknown):KbxResolvedGridStatus {
const rawValue=value==null?'':String(value)
const definition=map?.definitions.find(item=>item.value===rawValue)
if(definition)return {rawValue,label:definition.label,semantic:definition.semantic,unknown:false}
return {
rawValue,
label:`${map?.unknownLabel??'정의되지 않음'} · ${rawValue||'빈 값'}`,
semantic:'warning',
unknown:true,
}
}