Skip to content

oomol-lab/sparse-file-js

Repository files navigation

@oomol-lab/sparse-file

github license coveralls npm bundle size github release

Create / Resize sparse file

Features

  • Support Linux / MacOS
  • Default Safe Mode
  • Not Affected By System Cache
  • Get Physical Size(the space that a file takes up on disk)
  • 100% Code Coverage
  • 0 Dependency

Install

# npm
npm install @oomol-lab/sparse-file
# yarn
yarn add @oomol-lab/sparse-file
# pnpm
pnpm add @oomol-lab/sparse-file

API

createSparse(filepath: string, size: number, options?: SparseOptions): Promise<void>

  • filepath: string - Sparse file paths to create/resize
  • size: number - Sparse file size
  • options?.safe: boolean - Safe mode, default: true
  • options?.mode: number - File mode. By default, the mode is only set when creating a file, unless overwriteMode is specified. default: 0o644
  • options?.overwriteMode: boolean - Overwrite mode. When the overwrite mode is allowed, the mode will be set even if the file exists. default: false

In safe mode, an error will occur if the size is less than 0 or greater than Number.MAX_SAFE_INTEGER. Additionally, it will be rejected if the passed size is larger than the current file size.

In non-safe mode, a size less than 0 will be reset to 0, and a size greater than Number.MAX_SAFE_INTEGER will be reset to Number.MAX_SAFE_INTEGER.

resizeSparse(filepath: string, size: number, options?: SparseOptions): Promise<void>

alias to: createSparse

physicalFileSize(filepath: string): Promise<number>

  • filepath: string - File paths

Return the actual occupied size of the file on the physical hard drive.