joi-filesize-extensions

1.0.3 • Public • Published

joi-filesize-extensions

Joi extensions for file size.

npm version Build Status

Known Vulnerabilities

Lead Maintainer: Tom Yam

File sizes are parsed with patrickkettner/filesize-parser. All issues regarding parsing should be opened there.

Usage

Usage is a two steps process. First, a schema is constructed using the provided types and constraints:

const BaseJoi = require('joi');
const Extension = require('joi-filesize-extensions');
const Joi = BaseJoi.extend(Extension);
 
// By default all units (KB and KiB) are base 10
Joi.validate('1 KB', Joi.number().filesize()).value   // 1000
Joi.validate('1 KiB', Joi.number().filesize()).value   // 1000
 
// Units can also be base 2
Joi.validate('1 KB', Joi.number().filesize({ base: 2 })).value    // 1024
Joi.validate('1 KiB', Joi.number().filesize({ base: 2 })).value    // 1024
 
// Or size 10 explicitly
Joi.validate('1 KB', Joi.number().filesize({ base: 10 })).value   // 1000
Joi.validate('1 KiB', Joi.number().filesize({ base: 10 })).value   // 1000
 
// If value cannot be parsed it's an error
Joi.validate('1 XX', Joi.number().filesize({ base: 10 })).error.message   // "value" must be a valid file size'

API

See the API Reference.

Based on hapijs/joi-date-extensions

Package Sidebar

Install

npm i joi-filesize-extensions

Weekly Downloads

4

Version

1.0.3

License

MIT

Last publish

Collaborators