@devicecloud.dev/dcd
Version:
Better cloud maestro testing
30 lines (29 loc) • 1.85 kB
TypeScript
import * as archiver from 'archiver';
import { TAppMetadata } from './types';
export declare const toBuffer: (archive: archiver.Archiver) => Promise<Buffer<ArrayBuffer>>;
export declare const compressFolderToBlob: (sourceDir: string) => Promise<Blob>;
export declare const compressFilesFromRelativePath: (basePath: string, files: string[], commonRoot: string) => Promise<Buffer<ArrayBuffer>>;
export declare const verifyAppZip: (zipPath: string) => Promise<void>;
export declare const extractAppMetadataAndroid: (appFilePath: string) => Promise<TAppMetadata>;
export declare const extractAppMetadataIosZip: (appFilePath: string) => Promise<TAppMetadata>;
export declare const extractAppMetadataIos: (appFolderPath: string) => Promise<TAppMetadata>;
export declare const uploadBinary: (filePath: string, apiUrl: string, apiKey: string, ignoreShaCheck?: boolean, log?: boolean) => Promise<string>;
export declare const uploadBinaries: (finalAppFiles: string[], apiUrl: string, apiKey: string, ignoreShaCheck?: boolean, log?: boolean) => Promise<string[]>;
export declare const verifyAdditionalAppFiles: (appFiles: string[] | undefined) => Promise<void>;
/**
* Writes JSON data to a file with error handling
* @param filePath - Path to the output JSON file
* @param data - Data to be serialized to JSON
* @param logger - Logger object with log and warn methods
* @returns true if successful, false if an error occurred
*/
export declare const writeJSONFile: (filePath: string, data: unknown, logger: {
log: (message: string) => void;
warn: (message: string) => void;
}) => void;
/**
* Formats duration in seconds into a human readable string
* @param durationSeconds - Duration in seconds
* @returns Formatted duration string (e.g. "2m 30s" or "45s")
*/
export declare const formatDurationSeconds: (durationSeconds: number) => string;