node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »


joi-generate Build Status

Generates sample data from Joi schema.

NOTE: This is absolutely not a complete or really working solution, i'm just implementing bits and bobs as I require them. Feel free to contribute handlers for other types.

Currently implemented:

        ✓ should generate an array
        ✓ should handle arrays with multiple objects
        ✓ should generate a boolean value
        ✓ should generate a date value
        ✓ should handle custom date formats
        ✓ should handle custom iso formats
        ✓ should generate a random number
        ✓ should be able to specify a minimum length
        ✓ should be able to specify a maximum length
        ✓ should be able to specify a minimum and maximum length
        ✓ should generate an object
    ✓ should generate an empty object
        ✓ should generate a random string
        ✓ strings should be able to specify a minimum length
        ✓ strings should be able to specify a maximum length
        ✓ strings should be able to specify a minimum and maximum length
        ✓ should be able to generate an email
        ✓ should be able to generate a guid
        ✓ should be able to generate an ip
        ✓ should be able to generate a hostname
        ✓ should generate a binary buffer
        ✓ should be able to specify a minimum length
        ✓ should be able to specify a maximum length
        ✓ should be able to specify a length

Getting Started

Install the module with: npm install joi-generate

var Joi = require('joi');
var generate = new require('joi-generate').Generate();
var schema = Joi.object({
    details: Joi.string().min(100).max(200)
generate(schema, function(err, model) {
     * model = { details: 'some random string between 100 and 200 chars' }


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

  • 0.1.5 Fixed bug in string handler
  • 0.1.4 Added date format support
  • 0.1.3 Version bump for 0.1.2
  • 0.1.2 Added basic date
  • 0.1.1 Added bool and email
  • 0.1.0 Initial Release


Copyright (c) 2015 Hewlett-Packard. Licensed under the MIT license.