Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@c8/simple-promised-file

Package Overview
Dependencies
Maintainers
5
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

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.

  • 0.1.4
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
Maintainers
5
Weekly downloads
 
Created
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

Package last updated on 23 May 2016

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