yao-app-ts-types
Version:
typescript types for yao application
425 lines (385 loc) • 11.1 kB
TypeScript
export type FileSystemName = "app" | "data" | string;
export interface UploadFile {
Hash(): string; // Returns a unique identifier based on the file hash
IsChunk(): boolean; // Determines if the file is part of a larger chunked upload
Name: string; // Original file name
ChunkFileName(): string; // Name of the chunk file
TempFile: string; // Temporary file path
UID: string; // Unique Identifier for the file
TotalSize(): number; // Total size of the file for chunked uploads
Sync: boolean; // Flag to determine if the upload is synchronous
}
export interface UploadProgress {
Total: number; // Total size of the upload
Uploaded: number; // Amount uploaded so far
Completed: boolean; // Upload completion status
}
/**
* Read file content
* @param process fs.${FileSystemName}.ReadFile
* @param filename string file name relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.ReadFile`,
filename: string
): string;
/**
* Read file content as buffer
* @param process fs.${FileSystemName}.ReadFileBuffer
* @param filename string file name relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.ReadFileBuffer`,
filename: string
): Uint8Array;
/**
* Write file content
* @param process fs.${FileSystemName}.WriteFile
* @param filename string file name relative to the root
* @param content string content to write
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.WriteFile`,
filename: string,
content: string,
perm?: number
): number;
/**
* Write file content from buffer
* @param process fs.${FileSystemName}.WriteFileBuffer
* @param filename string file name relative to the root
* @param content Uint8Array content to write
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.WriteFileBuffer`,
filename: string,
content: Uint8Array,
perm?: number
): number;
/**
* Append content to file
* @param process fs.${FileSystemName}.AppendFile
* @param filename string file name relative to the root
* @param content string content to append
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.AppendFile`,
filename: string,
content: string,
perm?: number
): number;
/**
* Append content to file from buffer
* @param process fs.${FileSystemName}.AppendFileBuffer
* @param filename string file name relative to the root
* @param content Uint8Array content to append
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.AppendFileBuffer`,
filename: string,
content: Uint8Array,
perm?: number
): number;
/**
* Insert content into file
* @param process fs.${FileSystemName}.InsertFile
* @param filename string file name relative to the root
* @param offset number position to start the insert
* @param content string content to insert
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.InsertFile`,
filename: string,
offset: number,
content: string,
perm?: number
): number;
/**
* Insert content into file from buffer
* @param process fs.${FileSystemName}.InsertFileBuffer
* @param filename string file name relative to the root
* @param offset number position to start the insert
* @param content Uint8Array content to insert
* @param perm number file permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.InsertFileBuffer`,
filename: string,
offset: number,
content: Uint8Array,
perm?: number
): number;
/**
* Read directory contents
* @param process fs.${FileSystemName}.ReadDir
* @param dir string directory path relative to the root
* @param recursive boolean list directories recursively
*/
export declare function Process(
process: `fs.${FileSystemName}.ReadDir`,
dir: string,
recursive?: boolean
): string[];
/**
* Perform a glob search
* @param process fs.${FileSystemName}.Glob
* @param pattern string glob pattern
*/
export declare function Process(
process: `fs.${FileSystemName}.Glob`,
pattern: string
): string[];
/**
* Create a directory
* @param process fs.${FileSystemName}.Mkdir
* @param dir string directory path relative to the root
* @param perm number directory permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.Mkdir`,
dir: string,
perm?: number
): void;
/**
* Create a directory and all necessary parents
* @param process fs.${FileSystemName}.MkdirAll
* @param dir string directory path relative to the root
* @param perm number directory permissions
*/
export declare function Process(
process: `fs.${FileSystemName}.MkdirAll`,
dir: string,
perm?: number
): void;
/**
* Create a temporary directory
* @param process fs.${FileSystemName}.MkdirTemp
* @param dir string base directory
* @param pattern string pattern for the directory name
*/
export declare function Process(
process: `fs.${FileSystemName}.MkdirTemp`,
dir?: string,
pattern?: string
): string;
/**
* Remove a file or directory
* @param process fs.${FileSystemName}.Remove
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Remove`,
name: string
): void;
/**
* Remove a directory and its contents
* @param process fs.${FileSystemName}.RemoveAll
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.RemoveAll`,
name: string
): void;
/**
* Check existence of a file or directory
* @param process fs.${FileSystemName}.Exists
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Exists`,
name: string
): boolean;
/**
* Check if path is a directory
* @param process fs.${FileSystemName}.IsDir
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.IsDir`,
name: string
): boolean;
/**
* Check if path is a file
* @param process fs.${FileSystemName}.IsFile
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.IsFile`,
name: string
): boolean;
/**
* Check if path is a symbolic link
* @param process fs.${FileSystemName}.IsLink
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.IsLink`,
name: string
): boolean;
/**
* Change file mode
* @param process fs.${FileSystemName}.Chmod
* @param name string path relative to the root
* @param perm number file mode
*/
export declare function Process(
process: `fs.${FileSystemName}.Chmod`,
name: string,
perm: number
): void;
/**
* Get file size
* @param process fs.${FileSystemName}.Size
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Size`,
name: string
): number;
/**
* Get file mode
* @param process fs.${FileSystemName}.Mode
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Mode`,
name: string
): number;
/**
* Get file modification time
* @param process fs.${FileSystemName}.ModTime
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.ModTime`,
name: string
): number;
/**
* Get base name of a file path
* @param process fs.${FileSystemName}.BaseName
* @param name string file path
*/
export declare function Process(
process: `fs.${FileSystemName}.BaseName`,
name: string
): string;
/**
* Get directory name of a file path
* @param process fs.${FileSystemName}.DirName
* @param name string file path
*/
export declare function Process(
process: `fs.${FileSystemName}.DirName`,
name: string
): string;
/**
* Get extension of a file
* @param process fs.${FileSystemName}.ExtName
* @param name string file path
*/
export declare function Process(
process: `fs.${FileSystemName}.ExtName`,
name: string
): string;
/**
* Get the MIME type of a file
* @param process fs.${FileSystemName}.MimeType
* @param name string path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.MimeType`,
name: string
): string;
/**
* Move a file
* @param process fs.${FileSystemName}.Move
* @param src string source path relative to the root
* @param dst string destination path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Move`,
src: string,
dst: string
): void;
/**
* Append and move a file
* @param process fs.${FileSystemName}.MoveAppend
* @param src string source path relative to the root
* @param dst string destination path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.MoveAppend`,
src: string,
dst: string
): void;
/**
* Insert and move a file
* @param process fs.${FileSystemName}.MoveInsert
* @param src string source path relative to the root
* @param dst string destination path relative to the root
* @param offset number position to insert data
*/
export declare function Process(
process: `fs.${FileSystemName}.MoveInsert`,
src: string,
dst: string,
offset: number
): void;
/**
* Zip directories
* @param process fs.${FileSystemName}.Zip
* @param src string source path relative to the root
* @param dst string destination path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Zip`,
src: string,
dst: string
): void;
/**
* Unzip a file
* @param process fs.${FileSystemName}.Unzip
* @param src string source path relative to the root
* @param dst string destination path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Unzip`,
src: string,
dst: string
): string[];
/**
* Copy a file
* @param process fs.${FileSystemName}.Copy
* @param src string source path relative to the root
* @param dst string destination path relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Copy`,
src: string,
dst: string
): void;
/**
* Handle file uploads
* @param process fs.${FileSystemName}.Upload
* @param file UploadFile upload file information
* @param props any properties for validation (e.g., maxFilesize, accept)
*/
export declare function Process(
process: `fs.${FileSystemName}.Upload`,
file: UploadFile,
props?: { [key: string]: any }
): string | { path: string; uid: string; progress: UploadProgress };
/**
* Handle file downloads
* @param process fs.${FileSystemName}.Download
* @param file string file to download relative to the root
*/
export declare function Process(
process: `fs.${FileSystemName}.Download`,
file: string
): { content: any; type: string };