UNPKG

tarantoolscript

Version:

TypeScript definitions for Tarantool Lua API.

109 lines (94 loc) 4.25 kB
import { CData } from '../box'; import { BufferObject } from '../buffer'; import { FioStat } from './FioStat'; export interface FileHandleObject { /** * Close a file that was opened with fio.open. For details type man 2 close. * @returns True if success, false if failure. */ close(): boolean; /** * Perform random-access read operation on a file, without affecting the current seek position of the file. For details type `man 2 pread`. * @param count Number of bytes to read. * @param offset Offset within file where reading begins. * @returns A string containing the data that was read from the file, or empty string if failure. */ pread(count: number, offset: number): string; /** * Perform random-access read operation on a file, without affecting the current seek position of the file. For details type `man 2 pread`. * @param buffer Where to read into. * @param count Offset within file where reading begins. * @param offset Offset within file where reading begins. */ pread(buffer: BufferObject | CData, count: number, offset: number): void; /** * Perform random-access write operation on a file, without affecting the current seek position of the file. For details type `man 2 pwrite`. * @param newString Value to write. * @param offset Offset within file where writing begins. * @returns True if success, false if failure. */ pwrite(newString: string, offset: number): boolean; /** * Perform random-access write operation on a file, without affecting the current seek position of the file. For details type `man 2 pwrite`. * @param buffer Value to write. * @param count Number of bytes to write. * @param offset Offset within file where writing begins. * @returns True if success, false if failure. */ pwrite(buffer: BufferObject, count: number, offset: number): void; /** * Perform non-random-access read on a file. For details type `man 2 read`. * @param count Number of bytes to read. If omitted, read all bytes in the file. */ read(count?: number): LuaMultiReturn<[string, undefined] | [undefined, string]> /** * Perform non-random-access read on a file. For details type `man 2 read`. * @param buffer Where to read into. * @param count Number of bytes to read. */ read(buffer: BufferObject | CData, count: number): LuaMultiReturn<[number, undefined] | [undefined, string]>; /** * Perform non-random-access write on a file. For details type `man 2 write`. * @param newString Value to write. * @returns True if success, false if failure. */ write(newString: string): boolean; /** * Perform non-random-access write on a file. For details type `man 2 write`. * @param buffer Value to write. * @param count Number of bytes to write. * @returns True if success, false if failure. */ write(buffer: BufferObject, count: number): boolean; /** * Change the size of an open file. Differs from `fio.truncate`, which changes the size of a closed file. * @param newSize New file size. * @returns True if success, false if failure. */ truncate(newSize: number): boolean; /** * Shift position in the file to the specified position. For details type `man 2 seek`. * @param position Position to seek to. * @param offsetFrom * - `SEEK_END` = end of file, * - `SEEK_CUR` = current position, * - `SEEK_SET` = start of file. * @returns The new position if success. */ seek(position: number, offsetFrom?: 'SEEK_END' | 'SEEK_CUR' | 'SEEK_SET'): number | undefined; /** * Return statistics about an open file. This differs from fio.stat which return statistics about a closed file. For details type `man 2 stat`. * @returns Details about the file. */ stat(): FioStat; /** * Ensure that file changes are written to disk, for an open file. Compare `fio.sync`, which is for all files. For details type `man 2 fsync`. * @returns True if success, false if failure. */ fsync(): boolean; /** * Ensure that file changes are written to disk, for an open file. Compare `fio.sync`, which is for all files. For details type `man 2 fdatasync`. * @returns True if success, false if failure. */ fdatasync(): boolean; }