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;
 | |
| }
 |