Lines Matching refs:cfb

1381 /* cfb.js (C) 2013-present SheetJS -- http://sheetjs.com */
1929 function init_cfb(cfb/*:CFBContainer*/, opts/*:?any*/)/*:void*/ {
1931 if(!cfb.FullPaths) cfb.FullPaths = [];
1932 if(!cfb.FileIndex) cfb.FileIndex = [];
1933 if(cfb.FullPaths.length !== cfb.FileIndex.length) throw new Error("inconsistent CFB structure");
1934 if(cfb.FullPaths.length === 0) {
1935 cfb.FullPaths[0] = root + "/";
1936 cfb.FileIndex[0] = ({ name: root, type: 5 }/*:any*/);
1938 if(o.CLSID) cfb.FileIndex[0].clsid = o.CLSID;
1939 seed_cfb(cfb);
1941 function seed_cfb(cfb/*:CFBContainer*/)/*:void*/ {
1943 if(CFB.find(cfb, "/" + nm)) return;
1945 cfb.FileIndex.push(({ name: nm, type: 2, content:p, size:4, L:69, R:69, C:69 }/*:any*/));
1946 cfb.FullPaths.push(cfb.FullPaths[0] + nm);
1947 rebuild_cfb(cfb);
1949 function rebuild_cfb(cfb/*:CFBContainer*/, f/*:?boolean*/)/*:void*/ {
1950 init_cfb(cfb);
1952 for(var i = cfb.FullPaths.length - 1; i >= 0; --i) {
1953 var _file = cfb.FileIndex[i];
1957 else { cfb.FileIndex.pop(); cfb.FullPaths.pop(); }
1973 for(i = 0; i < cfb.FullPaths.length; ++i) {
1974 fullPaths[cfb.FullPaths[i]] = true;
1975 if(cfb.FileIndex[i].type === 0) continue;
1976 data.push([cfb.FullPaths[i], cfb.FileIndex[i]]);
2001 cfb.FullPaths = []; cfb.FileIndex = [];
2002 for(i = 0; i < data.length; ++i) { cfb.FullPaths[i] = data[i][0]; cfb.FileIndex[i] = data[i][1]; }
2004 var elt = cfb.FileIndex[i];
2005 var nm = cfb.FullPaths[i];
2017 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==nm) break;
2019 for(j=i+1;j < data.length; ++j) if(dirname(cfb.FullPaths[j])==dirname(nm)) break;
2023 if(dirname(cfb.FullPaths[i+1]||"") == dirname(nm)) elt.R = i + 1;
2030 function _write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {
2033 if(_opts.fileType == 'mad') return write_mad(cfb, _opts);
2034 rebuild_cfb(cfb);
2036 case 'zip': return write_zip(cfb, _opts);
2037 //case 'mad': return write_mad(cfb, _opts);
2039 var L = (function(cfb/*:CFBContainer*/)/*:Array<number>*/{
2041 for(var i = 0; i < cfb.FileIndex.length; ++i) {
2042 var file = cfb.FileIndex[i];
2050 var dir_cnt = (cfb.FullPaths.length +3) >> 2;
2058 cfb.FileIndex[0].size = mini_size << 6;
2059 L[7] = (cfb.FileIndex[0].start=L[0]+L[1]+L[2]+L[3]+L[4]+L[5])+((L[6]+7) >> 3);
2061 })(cfb);
2100 var file/*:CFBEntry*/ = cfb.FileIndex[0];
2101 for(; j < cfb.FileIndex.length; ++j) {
2102 file = cfb.FileIndex[j];
2113 for(j = 0; j < cfb.FileIndex.length; ++j) {
2114 file = cfb.FileIndex[j];
2124 var nm = cfb.FullPaths[i];
2131 file = cfb.FileIndex[i];
2154 for(i = 1; i < cfb.FileIndex.length; ++i) {
2155 file = cfb.FileIndex[i];
2169 for(i = 1; i < cfb.FileIndex.length; ++i) {
2170 file = cfb.FileIndex[i];
2192 function find(cfb/*:CFBContainer*/, path/*:string*/)/*:?CFBEntry*/ {
2193 var UCFullPaths/*:Array<string>*/ = cfb.FullPaths.map(function(x) { return x.toUpperCase(); });
2200 if(w !== -1) return cfb.FileIndex[w];
2206 …if((m ? UCFullPaths[w].replace(chr1,'!') : UCFullPaths[w]).replace(chr0,'') == UCPath) return cfb.…
2207 …if((m ? UCPaths[w].replace(chr1,'!') : UCPaths[w]).replace(chr0,'') == UCPath) return cfb.FileInde…
2237 function write_file(cfb/*:CFBContainer*/, filename/*:string*/, options/*:CFBWriteOpts*/)/*:void*/ {
2239 var o = _write(cfb, options);
2250 function write(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes|string*/ {
2251 var o = _write(cfb, options);
2842 function write_zip(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:RawBytes*/ {
2852 var root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];
2856 for(i = 1; i < cfb.FullPaths.length; ++i) {
2857 fp = cfb.FullPaths[i].slice(root.length); fi = cfb.FileIndex[i];
3042 function parse_mime(cfb/*:CFBContainer*/, data/*:Array<string>*/, root/*:string*/)/*:void*/ {
3061 var file = cfb_add(cfb, fname.slice(root.length), fdata, {unsafe: true});
3106 function write_mad(cfb/*:CFBContainer*/, options/*:CFBWriteOpts*/)/*:string*/ {
3119 var root = cfb.FullPaths[0], fp = root, fi = cfb.FileIndex[0];
3120 for(var i = 1; i < cfb.FullPaths.length; ++i) {
3121 fp = cfb.FullPaths[i].slice(root.length);
3122 fi = cfb.FileIndex[i];
3159 function cfb_add(cfb/*:CFBContainer*/, name/*:string*/, content/*:?RawBytes*/, opts/*:?any*/)/*:CFB…
3161 if(!unsafe) init_cfb(cfb);
3162 var file = !unsafe && CFB.find(cfb, name);
3164 var fpath/*:string*/ = cfb.FullPaths[0];
3171 cfb.FileIndex.push(file);
3172 cfb.FullPaths.push(fpath);
3173 if(!unsafe) CFB.utils.cfb_gc(cfb);
3186 function cfb_del(cfb/*:CFBContainer*/, name/*:string*/)/*:boolean*/ {
3187 init_cfb(cfb);
3188 var file = CFB.find(cfb, name);
3189 if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {
3190 cfb.FileIndex.splice(j, 1);
3191 cfb.FullPaths.splice(j, 1);
3197 function cfb_mov(cfb/*:CFBContainer*/, old_name/*:string*/, new_name/*:string*/)/*:boolean*/ {
3198 init_cfb(cfb);
3199 var file = CFB.find(cfb, old_name);
3200 if(file) for(var j = 0; j < cfb.FileIndex.length; ++j) if(cfb.FileIndex[j] == file) {
3201 cfb.FileIndex[j].name = filename(new_name);
3202 cfb.FullPaths[j] = new_name;
3208 function cfb_gc(cfb/*:CFBContainer*/)/*:void*/ { rebuild_cfb(cfb, true); }
12480 function make_vba_xls(cfb) { argument
12482 cfb.FullPaths.forEach(function(p, i) {
12486 CFB.utils.cfb_add(newcfb, newpath, cfb.FileIndex[i].content);
12490 function fill_vba_xls(cfb, vba) { argument
12496 CFB.utils.cfb_add(cfb, newpath, vba.FileIndex[i].content);
19758 function parse_xls_props(cfb/*:CFBContainer*/, props, o) { argument
19760 var DSI = CFB.find(cfb, '/!DocumentSummaryInformation');
19767 var SI = CFB.find(cfb, '/!SummaryInformation');
19778 function write_xls_props(wb/*:Workbook*/, cfb/*:CFBContainer*/) { argument
19799 …if(SEntries.length) CFB.utils.cfb_add(cfb, "/\u0005SummaryInformation", write_PropertySetStream(SE…
19800 …if(DSEntries.length || CEntries2.length) CFB.utils.cfb_add(cfb, "/\u0005DocumentSummaryInformation…
19803 function parse_xlscfb(cfb/*:any*/, options/*:?ParseOpts*/)/*:Workbook*/ { argument
19809 if(cfb.FullPaths) {
19810 if(CFB.find(cfb, '/encryption')) throw new Error("File is password-protected");
19811 CompObj = CFB.find(cfb, '!CompObj');
19812 WB = CFB.find(cfb, '/Workbook') || CFB.find(cfb, '/Book');
19815 case 'base64': cfb = s2a(Base64_decode(cfb)); break;
19816 case 'binary': cfb = s2a(cfb); break;
19818 case 'array': if(!Array.isArray(cfb)) cfb = Array.prototype.slice.call(cfb); break;
19820 prep_blob(cfb, 0);
19821 WB = ({content: cfb}/*:any*/);
19828 else/*:: if(cfb instanceof CFBContainer) */ {
19832 …else if((_data=CFB.find(cfb, 'PerfectOffice_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(…
19834 …else if((_data=CFB.find(cfb, 'NativeContent_MAIN')) && _data.content) WorkbookP = WK_.to_workbook(…
19836 …else if((_data=CFB.find(cfb, 'MN0')) && _data.content) throw new Error("Unsupported Works 4 for Ma…
19838 …if(options.bookVBA && cfb.FullPaths && CFB.find(cfb, '/_VBA_PROJECT_CUR/VBA/dir')) WorkbookP.vbara…
19842 if(cfb.FullPaths) parse_xls_props(/*::((*/cfb/*:: :any):CFBContainer)*/, props, options);
19845 if(options.bookFiles) WorkbookP.cfb = cfb;
19853 var cfb = CFB.utils.cfb_new({root:"R"});
19864 CFB.utils.cfb_add(cfb, wbpath, write_biff_buf(wb, o));
19865 if(o.biff == 8 && (wb.Props || wb.Custprops)) write_xls_props(wb, cfb);
19867 …if(o.biff == 8 && wb.vbaraw) fill_vba_xls(cfb, CFB.read(wb.vbaraw, {type: typeof wb.vbaraw == "str…
19868 return cfb;
24157 function parse_numbers_iwa(cfb, opts) { argument
24160 cfb.FullPaths.forEach(function(p) {
24164 cfb.FileIndex.forEach(function(s) {
24308 function build_numbers_deps(cfb) { argument
24311 cfb.FileIndex.map(function(fi, idx) {
24312 return [fi, cfb.FullPaths[idx]];
24334 cfb.FileIndex.forEach(function(fi) {
24354 var cfb = CFB.read(opts.numbers, { type: "base64" });
24355 var deps = build_numbers_deps(cfb);
24356 var docroot = numbers_iwa_find(cfb, deps, 1);
24364 numbers_add_ws(cfb, deps, idx + 1);
24365 docroot = numbers_iwa_find(cfb, deps, 1);
24368 write_numbers_ws(cfb, deps, wb.Sheets[name], name, idx, sheetrefs[idx]);
24370 return cfb;
24372 function numbers_iwa_doit(cfb, deps, id, cb) { argument
24373 var entry = CFB.find(cfb, deps[id].location);
24384 function numbers_iwa_find(cfb, deps, id) { argument
24385 var entry = CFB.find(cfb, deps[id].location);
24394 function numbers_add_ws(cfb, deps, wsidx) { argument
24397 numbers_iwa_doit(cfb, deps, 1, function(docroot, arch) {
24404 var sheet = numbers_iwa_find(cfb, deps, sheetref);
24409 numbers_iwa_doit(cfb, deps, newsheetref, function(_, x) {
24415 numbers_iwa_doit(cfb, deps, newsheetref, function(sheetroot, arch) {
24427 var tia = numbers_iwa_find(cfb, deps, drawables[0]);
24435 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24459 numbers_iwa_doit(cfb, deps, tiaref, function(_, x) {
24466 numbers_iwa_doit(cfb, deps, tiaref, function(tiaroot, arch) {
24480 var tma = numbers_iwa_find(cfb, deps, oldtmaref);
24485 numbers_iwa_doit(cfb, deps, tmaref, function(_, x) {
24493 numbers_iwa_doit(cfb, deps, tmaref, function(tmaroot, arch) {
24565 var msg = numbers_iwa_find(cfb, deps, oldref);
24573 CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg])));
24577 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24628 var msg = numbers_iwa_find(cfb, deps, oldref);
24636 CFB.utils.cfb_add(cfb, deps[newref].location, compress_iwa_file(write_iwa_file([msg])));
24640 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24695 var oldtile = numbers_iwa_find(cfb, deps, oldtileref);
24699 …CFB.utils.cfb_add(cfb, "/Index/Tables/Tile-".concat(newtileref, ".iwa"), compress_iwa_file(write_i…
24700 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24751 function write_numbers_ws(cfb, deps, ws, wsname, sheetidx, rootref) { argument
24753 numbers_iwa_doit(cfb, deps, rootref, function(docroot) {
24761 var tia = numbers_iwa_find(cfb, deps, drawables[0]);
24763 numbers_iwa_doit(cfb, deps, tmaref, function(docroot, x) {
24764 return write_numbers_tma(cfb, deps, ws, docroot, x, tmaref);
24768 function write_numbers_tma(cfb, deps, ws, tmaroot, tmafile, tmaref) { argument
24795 numbers_iwa_doit(cfb, deps, row_header_ref, function(rowhead, _x) {
24808 numbers_iwa_doit(cfb, deps, col_header_ref, function(colhead, _x) {
24826 var metadata = numbers_iwa_find(cfb, deps, 2);
24834 CFB.utils.cfb_del(cfb, deps[tileref].location);
24835 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24895 CFB.utils.cfb_add(cfb, "/Index/Tables/Tile-".concat(newtileid, ".iwa"), tilecontent);
24896 numbers_iwa_doit(cfb, deps, 2, function(ai) {
24973 numbers_iwa_doit(cfb, deps, 2, function(ai) {
25001 numbers_iwa_doit(cfb, deps, sstref, function(sstroot) {
25048 ['bookFiles', false], /* include raw file structure (keys, files, cfb) */
25326 function parse_xlsxcfb(cfb, _opts/*:?ParseOpts*/)/*:Workbook*/ { argument
25328 var f = 'Workbook', data = CFB.find(cfb, f);
25331 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25336 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25343 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25350 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25355 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25360 …data = CFB.find(cfb, f); if(!data || !data.content) throw new Error("ECMA-376 Encrypted file missi…
25673 function read_cfb(cfb/*:CFBContainer*/, opts/*:?ParseOpts*/)/*:Workbook*/ { argument
25674 if(CFB.find(cfb, "EncryptedPackage")) return parse_xlsxcfb(cfb, opts);
25675 return parse_xlscfb(cfb, opts);
25785 function write_cfb_ctr(cfb/*:CFBContainer*/, o/*:WriteOpts*/)/*:any*/ { argument
25789 case "file": return write_dl(o.file, CFB.write(cfb, {type:has_buf ? 'buffer' : ""}));
25793 return CFB.write(cfb, o);
25845 var cfb/*:CFBContainer*/ = write_xlscfb(wb, o);
25846 return write_cfb_ctr(cfb, o);