New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fs-gzip-blob-storage

Package Overview
Dependencies
Maintainers
0
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fs-gzip-blob-storage

Blob storage on filesystem, with gzip, streams and promises API

  • 4.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
0
Weekly downloads
 
Created
Source

fs-gzip-blob-storage

GitHub CI Trunk Check Coverage Status npm

Blob storage on a filesystem, with gzip, streams and promises API.

This is a wrapper for fs-blob-storage

Requirements

This module requires ES6 with Node >= 16.

Installation

npm install fs-gzip-blob-storage

Additionally for Typescript:

npm install -D @types/node

Usage

import FsGzipBlobStorage from "fs-gzip-blob-storage"

DEFAULT_EXT

The default ext option is ''

DEFAULT_GZIP_EXT

The default gzipExt option is '.gz'

DEFAULT_PART

The default part option is '.part'

constructor

const storage = new FsGzipBlobStorage(options)

Options:

  • ext is a default ext argument for methods (optional, default: DEFAULT_EXT)
  • part is a default part argument for methods (optional, default: DEFAULT_PART)
  • exclusive if is true then can't create new object if already exists with the same key (optional, default: false)
  • gzipExt is an extra extension for gzipped files (optional, default: DEFAULT_GZIP_EXT)
  • gzipOptions is an object with options for gzip/gunzip (optional)
  • path is a directory path of the storage (optional, default: ".")

Example:

const storage = new FsGzipBlobStorage({
  path: "/usr/share/man",
  exclusive: true,
})

createWriteStream

const writable = await storage.createWriteStream(key, options)

Options:

  • ext is a default extension added to the file name for the object (optional, default: this.ext)
  • part is a extension added to the file name which can be later committed (optional, default: this.part)

Creates a writable stream for a new object in the storage. The object is gzipped and stored with the file name based on key and ext and gzipExt and part. Throws an error if has occurred and if the file already exists for exclusive mode.

createReadStream

const readable = await storage.createWriteStream(key, options)

Options:

  • ext is a default extension added to the file name for the object (optional, default: this.ext)

Creates a readable stream for an existing, gunzipped object in the storage. Throws an error if has occurred or if the object doesn't exist or its size is zero.

commit

await storage.commit(key, options)

Options:

  • ext is a default extension added to the file name for the object (optional, default: this.ext)
  • part is a extension added to the file name which can be later committed (optional, default: this.part)

Commits the object in the storage. It means that the file name for the object is renamed and the additional extension for partial objects is removed. Throws an error if has occurred or the object doesn't exist.

remove

await storage.remove(key, options)

Options:

  • ext is a default extension added to the file name for the object (optional, default: this.ext)

Removes the object from the storage. Throws an error if has occurred or the object doesn't exist.

License

Copyright (c) 2018-2024 Piotr Roszatycki piotr.roszatycki@gmail.com

MIT

Keywords

FAQs

Package last updated on 23 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc