file-type-checker
Version:
Detect and validate file types by their signatures (✨magic numbers✨)
79 lines (78 loc) • 3.95 kB
TypeScript
import { FileValidatorOptions } from "../core";
/**
* Determine if file content contains a valid 'avi' file signature
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'avi' in file content, otherwise false
*/
export declare function isAVI(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'flv' file signature.
* Since 'flv' and 'm4v' share the same signature - additional check required - check if file content contains a "flv" string in the first few bytes of the file
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'flv' & "flv" string in file content, otherwise false
*/
export declare function isFLV(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'm4v' file signature.
* Since 'flv' and 'm4v' share the same signature - additional check required - check if file content contains a "ftyp" string in the first few bytes of the file
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'm4v' & "ftyp" string in file content, otherwise false
*/
export declare function isM4V(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'mkv' file signature.
* Since 'mkv' and 'webm' share the same signature - additional check required - search for the presence of the "Segment" element in the mkv header
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'mkv' & "ftyp" string in file content, otherwise false
*/
export declare function isMKV(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'mov' file signature
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'mov' in file content, otherwise false
*/
export declare function isMOV(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'mp4' file signature.
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
* @param options parameters for additional actions
*
* @returns {boolean} True if found a signature of type 'mp4' in file content, otherwise false
*/
export declare function isMP4(file: Array<number> | ArrayBuffer | Uint8Array, options?: FileValidatorOptions): boolean;
/**
* Determine if file content contains a valid 'ogg' file signature
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'ogg' in file content, otherwise false
*/
export declare function isOGG(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'swf' file signature
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'swf' in file content, otherwise false
*/
export declare function isSWF(file: Array<number> | ArrayBuffer | Uint8Array): boolean;
/**
* Determine if file content contains a valid 'webm' file signature.
* Since 'mkv' and 'webm' share the same signature - additional check required - search for the presence of the "DocType" element in the webm header
*
* @param file File content represents in Array<number> / ArrayBuffer / Uint8Array
*
* @returns {boolean} True if found a signature of type 'webm' & "ftyp" string in file content, otherwise false
*/
export declare function isWEBM(file: Array<number> | ArrayBuffer | Uint8Array): boolean;