MCPcopy Index your code
hub / github.com/simstudioai/sim / parseBuffer

Method parseBuffer

apps/sim/lib/file-parsers/xlsx-parser.ts:45–69  ·  view source on GitHub ↗
(buffer: Buffer)

Source from the content-addressed store, hash-verified

43 }
44
45 async parseBuffer(buffer: Buffer): Promise<FileParseResult> {
46 try {
47 const bufferSize = buffer.length
48 logger.info(
49 `Parsing XLSX buffer, size: ${bufferSize} bytes (${(bufferSize / 1024 / 1024).toFixed(2)} MB)`
50 )
51
52 if (!buffer || buffer.length === 0) {
53 throw new Error('Empty buffer provided')
54 }
55
56 assertOoxmlArchiveWithinLimits(buffer)
57
58 const workbook = XLSX.read(buffer, {
59 type: 'buffer',
60 dense: true, // Use dense mode for better memory efficiency
61 sheetStubs: false, // Don't create stub cells
62 })
63
64 return this.processWorkbook(workbook)
65 } catch (error) {
66 logger.error('XLSX buffer parsing error:', error)
67 throw new Error(`Failed to parse XLSX buffer: ${(error as Error).message}`)
68 }
69 }
70
71 private processWorkbook(workbook: XLSX.WorkBook): FileParseResult {
72 const sheetNames = workbook.SheetNames

Callers 1

parseFileMethod · 0.95

Calls 5

processWorkbookMethod · 0.95
infoMethod · 0.80
errorMethod · 0.80
readMethod · 0.45

Tested by

no test coverage detected