MCPcopy Index your code
hub / github.com/ChatLab/ChatLab / parseFileSync

Function parseFileSync

packages/parser/src/index.ts:164–196  ·  view source on GitHub ↗
(
  filePath: string,
  onProgress?: (progress: ParseProgress) => void
)

Source from the content-addressed store, hash-verified

162 * @param onProgress 进度回调(可选)
163 */
164export async function parseFileSync(
165 filePath: string,
166 onProgress?: (progress: ParseProgress) => void
167): Promise<ParseResult> {
168 let meta: ParsedMeta | null = null
169 const members: ParsedMember[] = []
170 const messages: ParsedMessage[] = []
171
172 for await (const event of parseFile({ filePath, onProgress })) {
173 switch (event.type) {
174 case 'meta':
175 meta = event.data
176 break
177 case 'members':
178 members.push(...event.data)
179 break
180 case 'messages':
181 messages.push(...event.data)
182 break
183 case 'progress':
184 onProgress?.(event.data)
185 break
186 case 'error':
187 throw event.data
188 }
189 }
190
191 if (!meta) {
192 throw new Error('解析失败:未获取到元信息')
193 }
194
195 return { meta, members, messages }
196}
197
198/**
199 * 解析文件获取基本信息(只统计,不返回完整消息)

Callers 2

parseGoogleChatFixtureFunction · 0.90
parseFixtureFunction · 0.90

Calls 2

parseFileFunction · 0.85
onProgressFunction · 0.50

Tested by 2

parseGoogleChatFixtureFunction · 0.72
parseFixtureFunction · 0.72