krachot / options-resolver

JavaScript port of awesome Symfony component "OptionsResolver"

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

OptionsResolver

This is a port of awesome Symfony component OptionsResolver. This library processes and validates option object.

Build Status Code Climate

Installation

npm install options-resolver --save

Usage

import createResolver from 'options-resolver';

const resolver = createResolver();
resolver
  .setDefaults({
    'foo': 'bar',
    'baz': 'bam'
  })
  .setRequired('foo')
  .setAllowedTypes('foo', 'string')
  .setAllowedValues('foo', ['bar', 'one'])
;

resolver.resolve({
  'foo': 'one'
}).then((options) => {
  // options is equal to :
  // {
  //    'foo': 'one',
  //    'baz': 'bam'
  // }
});

Run tests

npm run test

TODO

  • Improve documentation
  • Add Express middleware

Release History

  • 1.0.0 First release

About

JavaScript port of awesome Symfony component "OptionsResolver"

License:MIT License


Languages

Language:JavaScript 100.0%