import { AccessOptions } from "./AccessOptions"; import { GetSavedFileListOptions } from "./GetSavedFileListOptions"; import { GetSavedFileListResult } from "./GetSavedFileListResult"; import { ReadFileOptions } from "./ReadFileOptions"; import { ReadFileResult } from "./ReadFileResult"; import { WriteFileOptions } from "./WriteFileOptions"; import { CommonFileResult } from "./CommonFileResult"; /** * 文件管理器。 */ export interface FileSystemManager { /** * 判断本地路径是否存在。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * * fs.access({ * path: 'path/to/file', * success() { * // 文件存在 * }, * fail() { * // 文件不存在 * }, * }); * * ``` * */ access(options: AccessOptions): Promise; /** * 同步判断本地路径是否存在。 * @param path 要判断是否存在的本地路径 * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * * try { * fs.accessSync('path/to/file'); * } catch (e) { * // 文件不存在 * } * * ``` * */ accessSync(path: string): void; /** * 获取已保存的本地文件列表。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * * const { fileList } = await fs.getSavedFileList(); * * fileList.forEach((file) => { * const { filePath, size, createTime } = file; * }); * * ``` * */ getSavedFileList(options?: GetSavedFileListOptions): Promise; /** * 同步读取目录内容。 * @param dirPath 要读取的目录本地路径 * @returns 目录下的文件名列表 * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * * try { * const files = fs.readdirSync(`${ks.env.USER_DATA_PATH}/example`); * } catch (e) { * // 读取文件夹失败 * } * * ``` * */ readdirSync(dirPath: string): string[]; /** * 读取文件数据。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * fs.readFile({ * filePath: `${ks.env.USER_DATA_PATH}/hello.txt`, * encoding: 'utf8', * position: 0, * success(res) { * const { data } = res; * }, * fail() { * // 读取文件失败 * }, * }); * * ``` * */ readFile(options: ReadFileOptions): Promise; /** * 写入文件数据。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * fs.writeFile({ * filePath: `${ks.env.USER_DATA_PATH}/hello.txt`, * data: 'some text or arrayBuffer', * encoding: 'utf8', * success() { * // 写文件成功 * }, * fail() { * // 写文件失败 * }, * }); * * ``` * */ /** * 同步写入文件数据。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * fs.writeFile({ * filePath: `${ks.env.USER_DATA_PATH}/hello.txt`, * data: 'some text or arrayBuffer', * encoding: 'utf8', * success() { * // 写文件成功 * }, * fail() { * // 写文件失败 * }, * }); * * ``` * */ /** * 写入文件数据。 * @param options * @returns * @alpha * * @example * ```javascript * const fs = ks.getFileSystemManager(); * fs.writeFile({ * filePath: `${ks.env.USER_DATA_PATH}/hello.txt`, * data: 'some text or arrayBuffer', * encoding: 'utf8', * success() { * // 写文件成功 * }, * fail() { * // 写文件失败 * }, * }); * * ``` * */ writeFile(options: WriteFileOptions): Promise; } export {};