SheetJS
5a769874f4
- pin dependencies - flow and typescript improvements - updated repo infrastructure
101 lines
2.3 KiB
TypeScript
101 lines
2.3 KiB
TypeScript
/* index.d.ts (C) 2013-present SheetJS */
|
|
// TypeScript Version: 2.2
|
|
|
|
/** Version string */
|
|
export const version: string;
|
|
|
|
/** Parse a buffer or array */
|
|
export function parse(f: CFB$Blob, options?: CFBParsingOptions): CFBContainer;
|
|
|
|
/** Read a blob or file or binary string */
|
|
export function read(f: CFB$Blob | string, options?: CFBParsingOptions): CFBContainer;
|
|
|
|
/** Utility functions */
|
|
export const utils: CFB$Utils;
|
|
|
|
|
|
/** Options for read and readFile */
|
|
export interface CFBParsingOptions {
|
|
/** Input data encoding */
|
|
type?: 'base64' | 'binary' | 'buffer' | 'file' | 'array';
|
|
}
|
|
|
|
export type CFB$Blob = Buffer | number[] | Uint8Array;
|
|
|
|
export enum CFBEntryType { unknown, storage, stream, lockbytes, property, root }
|
|
export enum CFBStorageType { fat, minifat }
|
|
|
|
/** CFB File Entry Object */
|
|
export interface CFBEntry {
|
|
/** Case-sensitive internal name */
|
|
name: string;
|
|
|
|
/** CFB type (salient types: stream, storage) -- see CFBEntryType */
|
|
type: number;
|
|
|
|
/** Raw Content (Buffer when available, Array of bytes otherwise) */
|
|
content: CFB$Blob;
|
|
|
|
/** Creation Time */
|
|
ct?: Date;
|
|
|
|
/** Modification Time */
|
|
mt?: Date;
|
|
|
|
/** Red/Black Tree 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 Directory object */
|
|
export interface CFBDirectory {
|
|
/* cfb.FullPathDir keys are paths; cfb.Directory keys are file names */
|
|
[key: string]: CFBEntry;
|
|
}
|
|
|
|
|
|
/* File object */
|
|
export interface CFBContainer {
|
|
/* search by path or file name */
|
|
find(name: 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: {
|
|
header: CFB$Blob,
|
|
sectors: CFB$Blob[];
|
|
};
|
|
}
|
|
|
|
/** General utilities */
|
|
export interface CFB$Utils {
|
|
ReadShift(size: number, t?: string): number|string;
|
|
WarnField(hexstr: string, fld?: string): void;
|
|
CheckField(hexstr: string, fld?: string): void;
|
|
prep_blob(blob: any, pos?: number): CFB$Blob;
|
|
bconcat(bufs: any[]): any;
|
|
}
|