Newton's Principia Mathematica

    joi-siren

    1.1.0 • Public • Published

    joi-siren

    Converts Joi schema into a Siren action fields.

    Install

    npm install joi-siren
    

    Rules

    • The root of the schema must be an object
    • Supports these Joi types: Boolean, Number, Object and String

    Examples

    For an exhaustive list of examples see the tests

    const Joi = require('joi');
    const schemaToFields = require('joi-siren');
    
    

    Simple

    const schema = {
      single: Joi.string(),
    };
    
    const fields = schemaToFields(schema);
    // [ { name: 'single', type: 'text' } ]
    
    

    Nested with multiple types

    const schema = {
      outer: {
        inner: Joi.string(),
        layer2_1: {
          layer3: {
            mostInner: Joi.number(),
          },
        },
        layer2_2: {
          reallyInner: Joi.boolean(),
        },
      },
    };
    
    const fields = schemaToFields(schema);
    //  [
    //    { name: 'outer[inner]', type: 'text' },
    //    { name: 'outer[layer2_1][layer3][mostInner]', type: 'number' },
    //    { name: 'outer[layer2_2][reallyInner]', type: 'checkbox' }
    //  ]
    

    Exact values

    const schema = {
      outer: {
        inner: 'this is the only value',
      },
    };
    
    const fields = schemaToFields(schema);
    //  [ { name: 'outer[inner]', type: 'text', value: 'this is the only value' } ]
    

    Install

    npm i joi-siren

    DownloadsWeekly Downloads

    19

    Version

    1.1.0

    License

    MIT

    Unpacked Size

    15.1 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar