@devicecloud.dev/dcd
Version:
Better cloud maestro testing
47 lines (46 loc) • 1.45 kB
TypeScript
export interface TAppMetadata {
appId: string;
platform: 'android' | 'ios';
}
/**
* Interface for platform-specific metadata extractors
*/
export interface IMetadataExtractor {
canHandle(filePath: string): boolean;
extract(filePath: string): Promise<TAppMetadata>;
}
/**
* Extracts metadata from Android APK files
*/
export declare class AndroidMetadataExtractor implements IMetadataExtractor {
canHandle(filePath: string): boolean;
extract(filePath: string): Promise<TAppMetadata>;
}
/**
* Extracts metadata from iOS .app directories
*/
export declare class IosAppMetadataExtractor implements IMetadataExtractor {
canHandle(filePath: string): boolean;
extract(filePath: string): Promise<TAppMetadata>;
private parseInfoPlist;
}
/**
* Extracts metadata from iOS .zip files containing .app bundles
*/
export declare class IosZipMetadataExtractor implements IMetadataExtractor {
canHandle(filePath: string): boolean;
extract(filePath: string): Promise<TAppMetadata>;
private parseInfoPlist;
}
/**
* Service for extracting app metadata from various file formats
*/
export declare class MetadataExtractorService {
private extractors;
/**
* Extract app metadata from a file
* @param filePath - Path to the app file (.apk, .app, or .zip)
* @returns App metadata or undefined if extraction fails
*/
extract(filePath: string): Promise<TAppMetadata | undefined>;
}