Giter Site home page Giter Site logo

joi-filesize-extensions's Introduction

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

joi-filesize-extensions's People

Contributors

tomyam1-personal avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.