bitburner-filesync/src/interfaces.ts
2022-10-02 16:28:58 -07:00

41 lines
710 B
TypeScript

import type { Stats } from "fs";
export interface Message {
jsonrpc: "2.0";
method?: string;
result?: ResultType;
params?: FileMetadata;
error?: string;
id?: number;
}
type ResultType = string | number | string[] | FileContent[];
type FileMetadata = FileData | FileContent | FileLocation | FileServer;
export interface FileData {
filename: string;
content: string;
server: string;
}
export interface FileContent {
filename: string;
content: string;
}
export interface FileLocation {
filename: string;
server: string;
}
export interface FileServer {
server: string;
}
export interface FileEvent {
path: string;
}
export interface File extends FileEvent {
stats: Stats;
}