刘光辉
13 小时以前 0dfe84494048ce27ba8449831782128412d3eb13
1
2
3
4
5
6
7
8
9
10
11
12
export type ParsedTag = { fieldCode: string; type: 'single' } | { fieldCode: string; groupCode: string; rowId: string; type: 'repeat' };
 
export function parseTag(tag: unknown): ParsedTag | null {
  const parts = typeof tag === 'string' ? tag.split('.') : [];
  if (parts.length === 3 && parts[0] === 'eln' && parts[1] === 'field' && parts[2]) {
    return { type: 'single', fieldCode: parts[2] };
  }
  if (parts.length === 5 && parts[0] === 'eln' && parts[1] === 'repeat' && parts.slice(2).every(Boolean)) {
    return { type: 'repeat', groupCode: parts[2]!, rowId: parts[3]!, fieldCode: parts[4]! };
  }
  return null;
}