Tsonic GitHub

fs

Import:

import { fs } from "@tsonic/nodejs/index.js";

Examples:

import { console, fs } from "@tsonic/nodejs/index.js";

export function main(): void {
  const file = "./README.md";

  if (!fs.existsSync(file)) {
    console.log("Missing README.md");
    return;
  }

  const text = fs.readFileSync(file, "utf-8");
  console.log(text);

  fs.writeFileSync("./out.txt", "Hello from Tsonic!");
}

API Reference

fs

export declare const fs: {
  access(path: string, mode?: int): Task;
  accessSync(path: string, mode?: int): void;
  appendFile(path: string, data: string, encoding?: string): Task;
  appendFileSync(path: string, data: string, encoding?: string): void;
  chmod(path: string, mode: int): Task;
  chmodSync(path: string, mode: int): void;
  close(fd: int): Task;
  closeSync(fd: int): void;
  copyFile(src: string, dest: string, mode?: int): Task;
  copyFileSync(src: string, dest: string, mode?: int): void;
  cp(src: string, dest: string, recursive?: boolean): Task;
  cpSync(src: string, dest: string, recursive?: boolean): void;
  existsSync(path: string): boolean;
  fstat(fd: int): Task<Stats>;
  fstatSync(fd: int): Stats;
  mkdir(path: string, recursive?: boolean): Task;
  mkdirSync(path: string, recursive?: boolean): void;
  open(path: string, flags: string, mode?: Nullable<System_Internal.Int32>): Task<System_Internal.Int32>;
  openSync(path: string, flags: string, mode?: Nullable<System_Internal.Int32>): int;
  read(fd: int, buffer: byte[], offset: int, length: int, position: Nullable<System_Internal.Int32>): Task<System_Internal.Int32>;
  readdir(path: string, withFileTypes?: boolean): Task<string[]>;
  readdirSync(path: string, withFileTypes?: boolean): string[];
  readFile(path: string, encoding?: string): Task<System_Internal.String>;
  readFileBytes(path: string): Task<byte[]>;
  readFileSync(path: string, encoding?: string): string;
  readFileSyncBytes(path: string): byte[];
  readlink(path: string): Task<System_Internal.String>;
  readlinkSync(path: string): string;
  readSync(fd: int, buffer: byte[], offset: int, length: int, position: Nullable<System_Internal.Int32>): int;
  realpath(path: string): Task<System_Internal.String>;
  realpathSync(path: string): string;
  rename(oldPath: string, newPath: string): Task;
  renameSync(oldPath: string, newPath: string): void;
  rm(path: string, recursive?: boolean): Task;
  rmdir(path: string, recursive?: boolean): Task;
  rmdirSync(path: string, recursive?: boolean): void;
  rmSync(path: string, recursive?: boolean): void;
  stat(path: string): Task<Stats>;
  statSync(path: string): Stats;
  symlink(target: string, path: string, type?: string): Task;
  symlinkSync(target: string, path: string, type?: string): void;
  truncate(path: string, len?: long): Task;
  truncateSync(path: string, len?: long): void;
  unlink(path: string): Task;
  unlinkSync(path: string): void;
  write(fd: int, buffer: byte[], offset: int, length: int, position: Nullable<System_Internal.Int32>): Task<System_Internal.Int32>;
  write(fd: int, data: string, position?: Nullable<System_Internal.Int32>, encoding?: string): Task<System_Internal.Int32>;
  writeFile(path: string, data: string, encoding?: string): Task;
  writeFileBytes(path: string, data: byte[]): Task;
  writeFileSync(path: string, data: string, encoding?: string): void;
  writeFileSyncBytes(path: string, data: byte[]): void;
  writeSync(fd: int, buffer: byte[], offset: int, length: int, position: Nullable<System_Internal.Int32>): int;
  writeSync(fd: int, data: string, position?: Nullable<System_Internal.Int32>, encoding?: string): int;
};

Stats

export interface Stats {
    atime: DateTime;
    birthtime: DateTime;
    ctime: DateTime;
    isDirectory2: boolean;
    isFile2: boolean;
    mode: int;
    mtime: DateTime;
    size: long;
    isBlockDevice(): boolean;
    isCharacterDevice(): boolean;
    isDirectory(): boolean;
    isFIFO(): boolean;
    isFile(): boolean;
    isSocket(): boolean;
    isSymbolicLink(): boolean;
}

export const Stats: {
    new(): Stats;
};