Socket
Socket
Sign inDemoInstall

@c8/simple-promised-file

Package Overview
Dependencies
43
Maintainers
5
Versions
27
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @c8/simple-promised-file

A small promise library with basic file functionality and promise-wrapped gm image module.


Version published
Weekly downloads
2
increased by100%
Maintainers
5
Install size
3.33 MB
Created
Weekly downloads
 

Readme

Source

@c8/simple-promised-file

A small promise library with basic file functionality and promise-wrapped gm image module.

Features

  • Detects and uses proper MIME type (based on file's "magic" bytes)
  • Fully promised API
  • ES 6 object model
  • Image object wraps all graphicsmagic functionality, in a promised manner
  • fs-extra file functions (also promise wrapped) available on all File objects

Installation

npm i @c8/simple-promised-file

  • Image functions require either GraphicsMagic or ImageMagic

Usage

'use strict'

const PromisedFile = require('@c8/simple-promised-file')
const File = PromisedFile.File
const Image = PromisedFile.Image // extends PromisedFile.File with gm package image functionality

Get file info

Image(path.join(__dirname, '1.jpg'))
  .then((img) => {
    // Sync getters
    console.log(img.size) // 32114 (bytes, preloaded)
    console.log(img.extension) // jpg

    // Async getters
    img.mime.then(console.log) // image/jpeg
    img.isImage.then(console.log) // true
    img.depth().then(console.log) // 8

    img.dimensions()
      .then((dimensions) => {
        console.log(`Dimensions: ${dimensions.width}x${dimensions.height}px`)
      })

    // etc
  })
  .catch(console.log)

Get unique name

  • generates a short URL-friendly name with a proper extension (based on file's magic bytes), uses shortid
Image(path.join(__dirname, '1.jpg'))
  .then((img) => {
    return img.uniqueName
  })
  .then(console.log) // Sy8e7we7.jpg
  .catch(console.log)

Edit an image

  • Image object also provides all functionality of gm npm package in promised manner
const blurAndResize = (img) => {
  return img
    .resize(257, 257)
    .blur(23)
    .write(path.join(__dirname, '3.jpg'))
}

Image(path.join(__dirname, '1.jpg'))
  .then(blurAndResize)
  .then(console.log)
  .catch(console.log)

License

Developed for C8 MANAGEMENT LIMITED under MIT license

FAQs

Last updated on 23 May 2016

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc