forked from sheetjs/sheetjs
		
	
		
			
	
	
		
			105 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			105 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| 
								 | 
							
								declare enum CFBEntryType { unknown, storage, stream, lockbytes, property, root }
							 | 
						||
| 
								 | 
							
								declare enum CFBStorageType { fat, minifat }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* CFB Entry Object demanded by write functions */
							 | 
						||
| 
								 | 
							
								interface CFBEntryMin {
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  /* Raw Content (Buffer when available, Array of bytes otherwise) */
							 | 
						||
| 
								 | 
							
								  content:any;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* CFB Entry Object returned by parse functions */
							 | 
						||
| 
								 | 
							
								interface CFBEntry extends CFBEntryMin {
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  /* Case-sensitive internal name */
							 | 
						||
| 
								 | 
							
								  name:string;
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  /* CFB type (salient types: stream, storage) -- see CFBEntryType */
							 | 
						||
| 
								 | 
							
								  type:string;
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  /* Creation Time */
							 | 
						||
| 
								 | 
							
								  ct:Date;
							 | 
						||
| 
								 | 
							
								  /* Modification Time */
							 | 
						||
| 
								 | 
							
								  mt:Date;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Raw creation time -- see [MS-DTYP] 2.3.3 FILETIME */
							 | 
						||
| 
								 | 
							
								  mtime:string;
							 | 
						||
| 
								 | 
							
								  /* Raw modification time -- see [MS-DTYP] 2.3.3 FILETIME */
							 | 
						||
| 
								 | 
							
								  ctime:string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* RBT color: 0 = red, 1 = black */
							 | 
						||
| 
								 | 
							
								  color:number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Class ID represented as hex string */
							 | 
						||
| 
								 | 
							
								  clsid:string;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* User-Defined State Bits */
							 | 
						||
| 
								 | 
							
								  state:number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Starting Sector */
							 | 
						||
| 
								 | 
							
								  start:number;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Data Size */
							 | 
						||
| 
								 | 
							
								  size:number;
							 | 
						||
| 
								 | 
							
								  
							 | 
						||
| 
								 | 
							
								  /* Storage location -- see CFBStorageType */
							 | 
						||
| 
								 | 
							
								  storage:string;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* cfb.FullPathDir as demanded by write functions */
							 | 
						||
| 
								 | 
							
								interface CFBDirectoryMin {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* keys are unix-style paths */
							 | 
						||
| 
								 | 
							
								  [key:string]: CFBEntryMin;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* cfb.FullPathDir Directory object */
							 | 
						||
| 
								 | 
							
								interface CFBDirectory extends CFBDirectoryMin {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* cfb.FullPathDir keys are paths; cfb.Directory keys are file names */
							 | 
						||
| 
								 | 
							
								  [key:string]: CFBEntry;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* cfb object demanded by write functions */
							 | 
						||
| 
								 | 
							
								interface CFBContainerMin {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Path -> CFB object mapping */
							 | 
						||
| 
								 | 
							
								  FullPathDir:CFBDirectoryMin;
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* cfb object returned by read and parse functions */
							 | 
						||
| 
								 | 
							
								interface CFBContainer extends CFBContainerMin {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* search by path or file name */
							 | 
						||
| 
								 | 
							
								  find(string):CFBEntry;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* list of streams and storages */
							 | 
						||
| 
								 | 
							
								  FullPaths:string[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Path -> CFB object mapping */
							 | 
						||
| 
								 | 
							
								  FullPathDir:CFBDirectory;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Array of entries in the same order as FullPaths */
							 | 
						||
| 
								 | 
							
								  FileIndex:CFBEntry[];
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								  /* Raw Content, in chunks (Buffer when available, Array of bytes otherwise) */
							 | 
						||
| 
								 | 
							
								  raw:any[];
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								interface CFB {
							 | 
						||
| 
								 | 
							
								  read(f:any, options:any):CFBContainer;
							 | 
						||
| 
								 | 
							
								  parse(f:any):CFBContainer;
							 | 
						||
| 
								 | 
							
								  utils: {
							 | 
						||
| 
								 | 
							
								    ReadShift(size:any,t?:any):any;
							 | 
						||
| 
								 | 
							
								    WarnField(hexstr:string,fld?:string);
							 | 
						||
| 
								 | 
							
								    CheckField(hexstr:string,fld?:string);
							 | 
						||
| 
								 | 
							
								    prep_blob(blob:any, pos?:number):any;
							 | 
						||
| 
								 | 
							
								    bconcat(bufs:any[]):any;
							 | 
						||
| 
								 | 
							
								  };
							 | 
						||
| 
								 | 
							
								  main;
							 | 
						||
| 
								 | 
							
								}
							 |