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