UNPKG

@awo00/smb2

Version:

A SMB2 implementation in TypeScript

39 lines (38 loc) 1.44 kB
import Tree from "./Tree"; import { EventEmitter } from "events"; import { CreateOptions } from "../protocol/smb2/packets/Create"; import CreateDispositionType from "../protocol/smb2/CreateDispositionType"; import FilePipePrinterAccess from "../protocol/smb2/FilePipePrinterAccess"; import { Readable } from "stream"; import { FileWriteStream } from "./stream/FileWriteStream"; interface OpenOptions { desiredAccess?: FilePipePrinterAccess; createDisposition?: CreateDispositionType; createOptions?: CreateOptions; } interface File { on(event: "open" | "close", callback: (file: File) => void): this; once(event: "open" | "close", callback: (file: File) => void): this; } declare class File extends EventEmitter { private tree; _id: Buffer; isOpen: boolean; fileSize: bigint; constructor(tree: Tree); open(path: string, options?: OpenOptions): Promise<void>; create(path: string): Promise<void>; remove(): Promise<void>; rename(newPath: string): Promise<void>; setSize(size: bigint): Promise<void>; setInfo(fileInfoClass: number, buffer: Buffer): Promise<void>; private writeChunk; write(content: Buffer | string): Promise<void>; createWriteStream(): FileWriteStream; private readChunk; read(): Promise<Buffer<ArrayBuffer>>; createReadStream(): Readable; exists(path: string): Promise<boolean>; close(): Promise<void>; } export default File;