/* [MS-XLSB] 2.4.28 BrtBeginComment */ var parse_BrtBeginComment = function(data, length) { var out = {}; out.iauthor = data.read_shift(4); var rfx = parse_UncheckedRfX(data, 16); out.rfx = rfx.s; out.ref = encode_cell(rfx.s); data.l += 16; /*var guid = parse_GUID(data); */ return out; }; /* [MS-XLSB] 2.4.324 BrtCommentAuthor */ var parse_BrtCommentAuthor = parse_XLWideString; /* [MS-XLSB] 2.4.325 BrtCommentText */ var parse_BrtCommentText = parse_RichStr; /* [MS-XLSB] 2.1.7.8 Comments */ function parse_comments_bin(data, opts) { var out = []; var authors = []; var c = {}; var pass = false; recordhopper(data, function(val, R, RT) { switch(R.n) { case 'BrtCommentAuthor': authors.push(val); break; case 'BrtBeginComment': c = val; break; case 'BrtCommentText': c.t = val.t; c.h = val.h; c.r = val.r; break; case 'BrtEndComment': c.author = authors[c.iauthor]; delete c.iauthor; if(opts.sheetRows && opts.sheetRows <= c.rfx.r) break; delete c.rfx; out.push(c); break; case 'BrtBeginComments': break; case 'BrtEndComments': break; case 'BrtBeginCommentAuthors': break; case 'BrtEndCommentAuthors': break; case 'BrtBeginCommentList': break; case 'BrtEndCommentList': break; default: if(!pass || opts.WTF) throw new Error("Unexpected record " + RT + " " + R.n); } }); return out; } function write_comments_bin(data, opts) { }