minigame-std
Version:
Mini Game Standard Development Library.
71 lines (61 loc) • 1.89 kB
text/typescript
import type { FetchInit } from '@happy-ts/fetch-t';
import type { FsRequestInit, ReadFileContent as OPFSReadFileContent, WriteFileContent as OPFSWriteFileContent, UploadRequestInit, ZipOptions } from 'happy-opfs';
/**
* File content type for write, support `ArrayBuffer` `TypedArray` `string`.
*/
export type WriteFileContent = Exclude<OPFSWriteFileContent, Blob>;
/**
* File content type for read result, support `ArrayBuffer` `string`.
*/
export type ReadFileContent = Exclude<OPFSReadFileContent, Blob>;
/**
* Options for reading files with specified encoding.
*/
export interface ReadOptions {
/**
* Read file encoding type, support `binary(ArrayBuffer)` `utf8(string)` `blob(Blob)`
*
* @defaultValue `'binary'`
*/
encoding?: FileEncoding;
}
/**
* Supported file encodings for reading and writing files.
*/
export type FileEncoding = 'binary' | 'utf8';
/**
* Options for downloading files.
*/
export interface DownloadFileOptions extends Omit<WechatMinigame.DownloadFileOption, 'url' | 'filePath' | 'success' | 'fail'> {
onProgress?: FetchInit['onProgress'];
}
/**
* Options for uploading files.
*/
export interface UploadFileOptions extends Omit<WechatMinigame.UploadFileOption, 'url' | 'filePath' | 'name' | 'success' | 'fail'> {
/**
* Optional file name.
*/
name?: string
}
/**
* Options for union requests.
*/
export type UnionDownloadFileOptions = FsRequestInit & DownloadFileOptions;
/**
* Options for union requests.
*/
export type UnionUploadFileOptions = UploadRequestInit & UploadFileOptions;
/**
* Options for stat operations.
*/
export interface StatOptions {
/**
* Whether to recursively read the contents of directories.
*/
recursive: boolean;
}
/**
* Union options for `unzipFromUrl`.
*/
export type ZipFromUrlOptions = (DownloadFileOptions & ZipOptions) & FsRequestInit;