Socket
Socket
Sign inDemoInstall

@esforever/hapi-darwin

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@esforever/hapi-darwin

simple image storage


Version published
Weekly downloads
1
decreased by-66.67%
Maintainers
2
Weekly downloads
 
Created
Source

hapi-darwin

A Hapi plugin for image storage

Dependency Status devDependency Status Build Status

Install

$ npm install @esforever/hapi-darwin

Register

await server.register({
    plugin: require('@esforever/hapi-darwin'),
    options: {
        // Any uploader method options
        dest: './path/to/destination',
        formats: ['jpeg', 'png']
    }
});

Usage

'use strict';

const uploader = server.plugins['hapi-darwin'].uploader;

server.route({
    method: 'POST',
    path: '/path/to/endpoint',
    options: {
        payload: {
            allow: 'multipart/form-data',
            output: 'stream'
        }
    },
    handler: async ({ payload }, h) => {

        try {
            return await uploader(payload.avatar, { names: 'avatar' });
        } catch (err) {
            // ...
        }
    }
})

API

uploader(files, [options])

Returns a Promise for object or object[] or object[][] with:

  • filename (string) - corrected filename
  • path (string) - absolute path of uploaded version
files

Type: Readable Readable[]

options

Type: object

dest

Type: string

Default: ./images

Destination directory.

names

Type: string string[]

Default: files.hapi.filename.

Name(s) of input files to be used.

safeName

Type: boolean

Default: true

Whether replace new file with older exist or generate a unique filename.

formats

Type: string[]

Default: ['jpeg', 'png', 'gif', 'webp']

File types that are allowed (it don't check extension).

maxFiles

Type: number

Default: 1

Maximum input files can be uploaded.

minPixels

Type: number

Default: 1e2

Minimum pixels can be manipulated.

maxPixels

Type: number

Default: 1e6

Maximum pixels can be manipulated.

versions

Type: object[]

Default: []

Define array of version object with:

  • width (number) - pixels width the version image should be. Use null or undefined to auto-scale the width to match the height.
  • height (number) - pixels height the version image should be. Use null or undefined to auto-scale the height to match the width.
  • enlargement (boolean) - enlarge the output image if the input image width or height are already less than the required dimensions; default is false.
  • suffix (string) - suffix of version filename.

Example:

versions: [
    { width: 128, height: 128 },
    { width: 64, suffix: 'thumbnail' }
]
addOriginal

Type: boolean

Default: false

Whether adding the original input file to the destination directory or not.

License

MIT

Keywords

FAQs

Package last updated on 28 Mar 2018

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